Maison  >  Article  >  développement back-end  >  PHP函数preg_match_all()的相关使用方法介绍_PHP教程

PHP函数preg_match_all()的相关使用方法介绍_PHP教程

WBOY
WBOYoriginal
2016-07-15 13:30:55988parcourir

在下面是一个将文本中的URL链接地址转换为HTML代码的示例。代码6.4是PHP函数preg_match_all()的使用范例。

代码6.4 将文本中的链接地址转成HTML

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php  </span></span></span></li>
<li><span>//功能:将文本中的链接地址转成HTML  </span></li>
<li class="alt"><span>//输入:字符串  </span></li>
<li><span>//输出:字符串  </span></li>
<li class="alt"><span>function url2html($text)  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>//匹配一个URL,直到出现空白为止  </span></li>
<li><span>preg_match_all("/http://?[^s]+/i"<br>, $text, $links);  </span></li>
<li class="alt"><span>//设置页面显示URL地址的长度  </span></li>
<li>
<span>$</span><span class="attribute">max_size</span><span> = </span><span class="attribute-value">40</span><span>;  </span>
</li>
<li class="alt"><span>foreach($links[0] as $link_url)  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>//计算URL的长度。如果超过$max_size的设置,则缩短。  </span></li>
<li>
<span>$</span><span class="attribute">len</span><span> = </span><span class="attribute-value">strlen</span><span>($link_url);  </span>
</li>
<li class="alt">
<span>if($len </span><span class="tag">></span><span> $max_size)   </span>
</li>
<li><span>{  </span></li>
<li class="alt">
<span>$</span><span class="attribute">link_text</span><span> = </span><span class="attribute-value">substr</span><span>($link_url, 0, $max_size)."...";  </span>
</li>
<li><span>} else {  </span></li>
<li class="alt">
<span>$</span><span class="attribute">link_text</span><span> = $link_url;  </span>
</li>
<li><span>}  </span></li>
<li class="alt"><span>//生成HTML文字  </span></li>
<li>
<span>$</span><span class="attribute">text</span><span> = </span><span class="attribute-value">str_replace</span><span>($link_url,"<br></span><span class="tag"><span> </span><span class="tag-name">a</span><span> </span><span class="attribute">href</span><span>=</span><span class="attribute-value">'$link_url'</span><span class="tag">></span><span>$link_text</span><span class="tag"></span><span class="tag-name">a</span><span class="tag">></span><span>",$text);  </span></span>
</li>
<li class="alt"><span>}  </span></li>
<li><span>return $text;  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>//运行实例  </span></li>
<li class="alt">
<span>$</span><span class="attribute">str</span><span> = “这是一个包含多个URL链接地址的多行文字。<br>欢迎访问http://www.taoboor.com”;  </span>
</li>
<li><span>print url2html($str);  </span></li>
<li class="alt"><span>/*输出结果  </span></li>
<li>
<span>这是一个包含多个URL链接地址的多行文字<br>。欢迎访问</span><span class="tag"><span> </span><span class="tag-name">a</span><span> </span><span class="attribute">href</span><span>=</span><span class="attribute-value">'http://www.taoboor.com'</span><span class="tag">></span><span> </span></span>
</li>
<li class="alt">
<span>http://www.taoboor.com</span><span class="tag"></span><span class="tag-name">a</span><span class="tag">></span><span> </span>
</li>
<li><span>*/  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
</ol>

希望大家通过以上PHP函数preg_match_all()的使用示例,能够充分掌握这一函数的应用。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446251.htmlTechArticle在 下面是一个将文本中的URL链接地址转换为HTML代码的示例。代码6.4是PHP函数preg_match_all()的使用范例。 代码6.4 将文本中的链接地址转成H...
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn