特定の文字列に対して自動でリンクを作成する
<?php //元となる文章 $str = "ウェブブラウザとはウェブサイトを閲覧するためのソフトウェアです"; //単語とURLのリスト $wordlist = array( "ウェブ" => "http://en.wikipedia.org/wiki/Web", "ウェブブラウザ" => "http://en.wikipedia.org/wiki/Web_browser", "ウェブサイト" => "http://en.wikipedia.org/wiki/Website", "ソフトウェア" => "http://en.wikipedia.org/wiki/Software" ); //単語の文字数が長いものから順に並べ替える uksort($wordlist, function($a, $b){ return mb_strlen($b, 'utf-8') - mb_strlen($a, 'utf-8'); }); $pairs = array(); foreach($wordlist as $word => $url){ $pairs[$word] = '<a href="' . $url . '">' . $word . '</a>'; } $str = strtr($str, $pairs); echo $str;
<?php $str = "JavaとJavaScriptは名前は似てるけど、違うプログラミング言語だよ"; $list = array('Java', 'JavaScript', 'プログラミング言語'); function cmp($a, $b) { return strlen($b) - strlen($a); } usort($list, "cmp"); $reg = '/('; foreach($list as $value){ if($reg !== '/(') $reg .= '|'; $reg .= $value; } $reg .= ')/'; $str = preg_replace($reg,'<a href="http://ja.wikipedia.org/wiki/$1">$1</a>', $str); echo $str; ?>
参考サイト
-
前の記事
MW WP Formで出力されるタグを書き換える 2017.04.18
-
次の記事
ウィンドウのスクロール位置をjs+Cookieで保存する 2017.06.09