⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysql实例-2.htm

📁 微软数据库开发梦工场多媒体教学-My sql篇.rar
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<body bgcolor="#000000">
<FONT color="#009900" 
            class=title>内容的格式和提交篇</FONT><font color="#009900"><BR>
</font><font color="#FFFFFF"> <FONT class=content> <BR>
现在我们基本上已经大功告成了。我们已经设计了一个数据库用来存储笑话,将它们组织到目录中,并标志它们的作者。我们也已经学会了如何建立一个Web页来向我们的访问者显示我们的笑话库。我们还开发了一系列的Web页以使得网站的管理者不需要任何数据库的知识就能管理笑话库。<BR>
<BR>
当我们这样做之后,我们已经解决了这么一个头疼的问题,那就是不断地插入新的内容到HTML模板中,并产生大量难管理的HTML文件。现在,HTML已经完全和显示的数据分开了。如果你想重新设置这个网站,你只需要改变显示给访问者的PHP文件中的HTML。对一个文件夹的修改(例如改变字体)会立即反映到所有笑话的显示,因为所有的笑话都使用同一个PHP文件来显示。在管理这个Web站点的内容时仅仅还有一个情况需要用到HTML:内容的格式。<BR>
<BR>
除了一些最简单的Web站点之外,我们总是需要允许内容(在这里是指笑话)有自己可应用的格式。一个简单的情况是,你仅需要能将文本分段。然而,更通常的情况是,内容的提供者还希望能够简单地实现文字的粗体、斜体或者是超连接等等。<BR>
<BR>
我们目前的数据库和网站设计支持所有的这些功能,因为一个网站的管理者可以在笑话的内容中包含HTML标志,而在将笑话的内容插入到网站的访问者请求的页面中时也能起到它当初的效果。然而,为了实现我们系统管理完全不需要HTML的知识,我们需要提供一些其它的方法以格式化文本。<BR>
<BR>
在本章中,我们会学习一些新的PHP函数,这些函数可以让我们能够提供基本的文本格式而不需要使用HTML。当我们这样做了之后,我们会真正拥有一个足够简单的可以供第一个有Web浏览器的人使用的内容管理系统。有了这个功能之后,我们可以再次允许用户提供它们自己的笑话--而这一次,我们不必再担心我们的站点会充满令人讨厌的或其它不适当的东西。 
<BR>
<BR>
排除原有的干扰<BR>
在我们提供一个有关格式化内容的新的方法之前,我们首先必须排除旧东西的影响。一些没有HTML知识的人可能会不知不觉地在一个纯文本的文档中包含HTML语法(然而是无效的),这将引起意想不到的后果,甚至会损坏我们的页面的显示效果。我们先来看看下面的句子:<BR>
<BR>
Thegunmandrewhisweapon.&lt;BANG!&gt;<BR>
如果有人将上面的文字录入到数据库中,在Web页显示这个内容他也许会奇怪最后的那个单词(&lt;BANG!&gt;)怎么不见。有一些基本的HTML知识的人会意识到Web浏览器已经将这一段作为无效的HTML标志忽略了,但是我们需要迎合根本没有任何HTML知识的用户。<BR>
<BR>
在第五章中,我们曾经看到一个PHP函数可以巧妙地处理这个问题:htmlspecialchars。这个函数在将我们的笑话插入到一个Web页时,将其转换成一种“HTML安全”的格式:<BR>
Thegunmandrewhisweapon.&amp;lt;BANG!&amp;gt;<BR>
当反馈到网站访问者的Web浏览器时,这会显示出我们当初所预想的结果。因此,作为第一步,我们需要修改我们的网站用来显示笑话内容的PHP文件,在文本输出到页面之前使用htmlspecialchars:<BR>
<BR>
</FONT></font><FONT class=content> 
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=580 
            borderColorLight=black border=1>
  <TBODY>
    <TR> 
      <TD class=code 
                  bgColor=#e6e6e6><font color="#000000">&lt;!--joke.php--&gt;<BR>
        ...<BR>
        //Getthejoketextfromthedatabase<BR>
        $joke=mysql_query("SELECTJokeTextFROMJokes".<BR>
        "WHEREID=$id");<BR>
        $joke=mysql_fetch_array($joke);<BR>
        $joketext=$joke["JokeText"];//FilteroutHTMLcode<BR>
        $joketext=htmlspecialchars($joketext);<BR>
        echo($joketext);<BR>
        ...<BR>
        </font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
我们已经使出现在内容中的HTML代码失效了。现在我们可以通过执行我们自己的特别的标志语言来执行我们自己的内容格式。<BR>
<BR>
正则表达式<BR>
执行我们自己的标志语言会包含在笑话的文本中找出我们自己的标志并在输出到用户的浏览器前将其替换成相应的HTML。每一个了解正则表达式的人都会意识到使用与此正则表达式很适合于处理这些工作。<BR>
<BR>
一个正则表达式是一个可能包含指定代码的字符串,它可以被一些PHP函数用来搜寻和处理文本。下面的这个例子就是一个正则表达式,它可以用来搜索“PHP”(没有引号):<BR>
<BR>
PHP<BR>
<BR>
不太复杂,是吗?要使用一个正则表达式,你必须熟悉PHP中使用正则表达式的函数。ereg是其中最基本的,它可以用来判断一个正则表达式是否匹配具体的字符串。请参看下面这段代码:<BR>
<BR>
</font> 
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=580 
            borderColorLight=black border=1>
  <TBODY>
    <TR> 
      <TD class=code 
                  bgColor=#e6e6e6><font color="#000000">$text="PHPrules!";<BR>
        if(ereg("PHP",$text)){<BR>
        echo('$textcontainsthestring"PHP".');<BR>
        }else{<BR>
        echo('$textdoesnotcontainthestring"PHP".');<BR>
        }<BR>
        </font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
在这个例子中,正则表达式是匹配的,因为存储在变量$text中值包含“PHP”。这样,上面的代码的输出将是这样的(注意这里的单引号使用PHP不会用相应的$text的值取代$text):<BR>
<BR>
</font> 
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=580 
            borderColorLight=black border=1>
  <TBODY>
    <TR> 
      <TD class=code 
              bgColor=#e6e6e6><font color="#000000">$textcontainsthestring"PHP".</font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
eregi的功能基本上和ereg相同,只是它忽略被搜索的文本的大小写:<BR>
</font> 
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=580 
            borderColorLight=black border=1>
  <TBODY>
    <TR> 
      <TD class=code 
                  bgColor=#e6e6e6><font color="#000000">$text="WhatisPhp?";<BR>
        <BR>
        if(eregi("PHP",$text)){<BR>
        echo('$textcontainsthestring"PHP".');<BR>
        }else{<BR>
        echo('$textdoesnotcontainthestring"PHP".');<BR>
        }<BR>
        </font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
这会输出同样的信息:<BR>
</font> 
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=580 
            borderColorLight=black border=1>
  <TBODY>
    <TR> 
      <TD class=code 
              bgColor=#e6e6e6><font color="#000000">$textcontainsthestring"PHP".</font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
<BR>
正如我们上面提到的,在正则表达式中可以使用一些特殊的代码。其中的一些代码可以容易混淆,而且也很难记,如果你想要很好地使用它,你需要找到一本好的参考。有关标准正则表达式的语法的指南格式的参考你可以从http://www.delorie.com/gnu/docs/rx/rx_toc.html中找到,在WroxPress编写的专业PHP程序设计一书的附录中也包含了正则表达式语法的参考。让我们通过一些例子来学习一些基本的正则表达式的语法。<BR>
<BR>
首先,一个脱字符(^)被用来标志字符串的开始,而一个美元符($)被用来标志字符串的结束:<BR>
</font> 
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=580 
            borderColorLight=black border=1>
  <TBODY>
    <TR> 
      <TD class=code 
                  bgColor=#e6e6e6><font color="#000000">PHP//匹配"WhatisPHP?"<BR>
        ^PHP//匹配"PHPrules!"但不匹配"WhatisPHP?"<BR>
        PHP$//匹配"IlovePHP"但不匹配"WhatisPHP?"<BR>
        ^PHP$//只匹配"PHP"<BR>
        </font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
明显地,你们有时会想要使用^、$或其它一些特殊字符来表示在搜索字符串中的相应的字符,而不是它们在正则表达式中的相应的特殊含义。要达到这个目的,你只需要在前面添加一个反斜杠:<BR>
<BR>
$$$//匹配"Showmethe$$$!"<BR>
<BR>
方括号可以用来定义一组可以匹配的字符。例如,下面的正则表达式可以匹配1到5的任何数字。<BR>
[12345]//匹配"1"和"3",但不匹配"a"或"12"<BR>
数字和字母的范围也可以这样表示:<BR>
[1-5]//和前面一样<BR>
[a-z]//匹配所有小写字母<BR>
[0-9a-zA-Z]//匹配所有字母或数字<BR>
字符?、+和*也有其各自特殊的含义。具体地说,?表示“前面的字符是可选的”,+表示“前面的字符重复一次或多次”,而*表示“前面的字符重复零次或多次”。<BR>
bana?na//匹配"banana"和"banna",<BR>
//但不匹配"banaana".<BR>
bana+na//匹配"banana"和"banaana",<BR>
//但不匹配banna".<BR>
bana*na//匹配"banna"、"banana"和"banaaana",<BR>
//但不匹配"bnana".<BR>
^[a-zA-z]+$//匹配所有由仅由一个或多个字母组成的字符串。<BR>
圆括号用来将字符组合起来作为一个整体来应用?、+和*。<BR>
ba(na)+na//匹配"banana"和"banananana",<BR>
//但不匹配"bana"或"banaana".<BR>
这儿有一些代码用来在正则表达式中匹配特殊的字符:<BR>
//匹配一个换行符<BR>
.//匹配除了换行符以外的所有其它字符<BR>
//匹配一个回车符<BR>
//匹配一个制表符<BR>
在正则表达式中还有许多其它的特殊代码和语法,这些你都可以从一些参考书中获得(例如我们上面提到的)。现在,要达到我们的目的,这些已经足够了。<BR>
<BR>
用正则表达式进行字符串的替换<BR>
使用一个我们刚刚学习过的带正则表达式的ereg或eregi,我们可以很容易地判断在给出的字符串中是否包括标志。然而,我们想要做的是找出这些标志并将其替换成相应的HTML标志。要完成这一功能,我们需要PHP提供的另两个正则表达式函数:ereg_replace和eregi_replace。<BR>
<BR>
ereg_replace,和ereg一样,接受一个正则表达式和一个文本字符串,并试图将二者进行匹配。然而,此外,ereg_replace还接受第二个文本字符串,并用其替换第一个文本字符串中每一个和正则表达式匹配的部分。<BR>
<BR>
ereg_replace的语法如下所示:<BR>
</font> 
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=580 
            borderColorLight=black border=1>
  <TBODY>
    <TR> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -