ホームページ  >  記事  >  バックエンド開発  >  PHP 関数 preg_match_all() の関連使用法の概要_PHP チュートリアル

PHP 関数 preg_match_all() の関連使用法の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:30:55987ブラウズ

以下は、テキスト内の 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.comtru​​ehttp://www.bkjia.com/PHPjc/446251.html技術記事以下は、テキスト内の URL リンクを HTML コードに変換する例です。リスト 6.4 は、PHP 関数 preg_match_all() の使用例です。 コード6.4 テキスト内のリンクアドレスをH...
に変換する
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。