私はいくつかのコードを作成しています。私はそのテキスト本文内のイメージURLとウェブリンクを置き換えたいと思います。php preg_matchとpreg_replaceテキスト(urlタグとimageタグ)
EG「この私のhttp://www.google.comでテキストといくつかの画像http://www.somewebimage.pngされる」
は私のハックは、URL(複数可)を交換するために私を取得します
「これは私の<a href="http://www.google.com">http://www.google.com</a>
でテキストといくつかの画像<img src="http://www.somewebimage.png">
である」に置き換えまたはIMGのリンクではなくboth..oneはので、私は$ reg_exUrlコードブロックをブロックすると、それは私がURLリンクを取得し実行する場合、私は画像のリンクを取得するため
$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
$reg_exImg = '/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?(jpg|png|gif|jpeg)/';
$post = "This is my text with http://www.google.com and some image http://www.somewebimage.png";
if(preg_match($reg_exImg, $post, $img)) {
$img_post = preg_replace($reg_exImg, "<img src=".$img[0]." width='300' style='float: right;'> ", $post);
} else {
$img_post = $post;
}
if(preg_match($reg_exUrl, $post, $url)) {
$img_post = preg_replace($reg_exUrl, "<a href=".$url[0]." target='_blank'>{$url[0]}</a> ", $post);
} else {
$img_post = $post;
}
の上書きです。
は、私は何をしようとしていることでパターンをテストするURLはリンクやIMGのURLが埋め込まれているシンプルなフィード.. –
まず最初に、次のとおりです。
preg_replace_callback
を使用すると、コールバック関数の置換文字列を選択することができます'preg_replace'でそれを使用する前の' preg_match'は役に立ちません。 –2つの場合に1つのパターンを使用し、 'preg_replace_callback'を使用して置換マスクを選択する必要があります。この方法では、すべてが1回のパスで行われ、何も上書きされません。コールバック関数では、 'parse_url'と' explode'を使って簡単にファイル拡張子を抽出することができます。 –