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

📄 mysql实例-2.htm

📁 很好的数据库学习图书详细说明学习内容我学习后觉得这本书很有用 并且已经用于实践
💻 HTM
📖 第 1 页 / 共 3 页
字号:
      <TD class=code 
                  bgColor=#e6e6e6><font color="#000000">$newstring=ereg_replace(&lt;regexp&gt;,&lt;replacewith&gt;,&lt;oldstring&gt;);</font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
在这里,&lt;regexp&gt;是一个正则表达式,&lt;replacewith&gt;是我们用来替换&lt;regexp&gt;在&lt;oldstring&gt;中匹配的部分的字符串。这个函数返回替换后的字符串。在上面的代码中,新的字符串被存储在$newstring中。<BR>
eregi_replace,和我们预想的一样,基本上等同于ereg_replace,只是它要匹配时不考虑字母的大小写。<BR>
现在我们已经准备好建立我们自己的标志语言了。<BR>
<BR>
黑体和斜体<BR>
让我们首先实现建立文本的黑体和斜体的标志。我们定义[B]开始黑体文本,而[EB]结束一个黑体文本。明显地,我们需要将[B]替换为&lt;B&gt;,而将[EB]替换为&lt;/B&gt;。使用eregi_replace这将变得很简单:<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">$joketext=eregi_replace("[b]","&lt;B&gt;",$joketext);<BR>
        $joketext=eregi_replace("[eb]","&lt;/B&gt;",$joketext);<BR>
        </font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
请注意,因为[在正则表达式中通常是指一组可接受的字符的开始,所以我们在前面加了一个反斜杠以去除其特殊的含义。而没有了[,]也不再具有特殊的含义,因此不需要反斜杠,当然,如果你想做得更彻底,你也可以在前面添加一个反斜杠。<BR>
另外还请注意,我们在这里使用的是eregi_replace,它是对大小写不敏感的,因此[B]和[b]在我们自己的标志语言会起到同样的作用。<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">$joketext=eregi_replace("[i]","&lt;I&gt;",$joketext);<BR>
        $joketext=eregi_replace("[ei]","&lt;/I&gt;",$joketext);<BR>
        </font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
分段<BR>
要实现分段和前面我们实现黑体和斜体一样,甚至还更为简单。因为用户在将内容录入到表单域中时,会使用回车键来格式化文本,我们使用单个的换行符()来代表换行(&lt;BR&gt;),而两个换行符( 
)则代表分段(&lt;P&gt;)。当然,由于PC会用一对换行-回车符()来表示新的一行,我们首先需要删除回车符,代码将是这样的:<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">//删除回车符<BR>
        $joketext=ereg_replace("","",$joketext);<BR>
        //处理分段<BR>
        $joketext=ereg_replace("","&lt;P&gt;",$joketext);<BR>
        //处理换行<BR>
        $joketext=ereg_replace("","&lt;BR&gt;",$joketext);<BR>
        </font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
这就是我们想要的!现在文本可以象用户所预期的那样分段了,而他们甚至不需要学习任何特殊的标志。<BR>
<BR>
超链接<BR>
虽然在笑话的内容中支持超链接似乎很可笑,但在其它应用程序中经常会有这种应用。超链接要比简单地将一些代码转换成HTML标志稍微复杂一些。因为我们同时要输出URL和链接显示的内容。<BR>
<BR>
这里,我们需要用到ereg_replace和eregi_replace的另一个特征了。通过圆括号将正则表达式分成几部分,你可以“获得”匹配的文本中相应的部分并在替代的字符串中用代码\n表示,这里n中的1表示正则表达式第一个圆括号中的部分,2表示第二个,一直到9表示第9个。请先参考下面的代码:<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="banana";<BR>
        $text=eregi_replace("(.*)(nana)","\2\1",$text);<BR>
        echo($text);//outputs"nanaba"<BR>
        </font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
在上面的代码中,替代字符串中的\1由ba取代,这对应于正则表达式中的(.*)(零个或更多个非换行符)。\2由nana取代,这对应于正则表达式中的(nana)。<BR>
在建立我们的超链接时可以使用同样的规则。让我们先从一个简单的连接开始,这里链接的文本同时也是URL。我们需要支持下面的语句:<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">Visit[L]http://www.php.net/[EL].</font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
我们想要输出的相应的HTML代码是这样的:<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">Visit&lt;AHREF="http://www.php.net/"&gt;http://www.php.net/&lt;/A&gt;.</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">[L][-_./a-zA-Z0-9!&amp;%#?,'=:~]+[EL]</font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
我们又在[L]和[EL]的前面用了反斜杠,这标志着它们将按字面意思解释。我们使用了方括号列出了我们认为可以作为URL的一部分的所有字符。在这个方括号后面我们使用了一个+表示URL可以由其中的一个或多个字符组成。<BR>
要输出我们的链接,我们需要取出URL同时作为A标签的HREF属性以及链接的文字来输出。要取出URL,我们需要在我们的正则表达式的相应的部分上加上圆括号:<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">[L]([-_./a-zA-Z0-9!&amp;%#?,'=:~]+)[EL]</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">$joketext=ereg_replace(<BR>
        "[L]([-_./a-zA-Z0-9!&amp;%#?,'=:~]+)[EL]",<BR>
        "&lt;AHREF="\1"&gt;\1&lt;/A&gt;",$joketext);<BR>
        </font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
请注意我们在链接的HTML代码中的双引号前面使用了反斜杠以防止PHP将其误以为是替代字符串的起止引号。总之,\1被这个链接的URL所取代,而输出正是我们所期望的!<BR>
我们还希望支持这样的超链接,那就是链接的文字和他们的URL不一样。这样的链接的格式如下所示:<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">Checkout[L=http://www.php.net/]PHP[EL].</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">[L=([-_./a-zA-Z0-9!&amp;%#?,'=:~]+)]([-_./a-zA-Z0-9!&amp;%#?,'=:~]+)[EL]</font></TD>
    </TR>
  </TBODY>
</TABLE>
<font color="#FFFFFF"><BR>
相当混乱,是吗?先不要去管它,你会明白这正是你所需要的,你会同时取出这个链接的URL(\1)和文字(\2)。执行这个转换的PHP代码将是这样的:<BR>
</font> 
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=580 
            borderColorLight=black border=1>
  <TBODY>

⌨️ 快捷键说明

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