各リンクのテキストを置き換えるのに苦労しています。
$reg_ex = "/(http|https)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
$text = '<br /><p>this is a content with a link we are supposed to <a href="http://www.google.com">click</a></p><p>another - this is a content with a link we are supposed to <a href="http://www.amazon.com">click</a></p><p>another - this is a content with a link we are supposed to <a href="http://www.wow.com">click</a></p>';
if(preg_match_all($reg_ex, $text, $urls))
{
foreach($urls[0] as $url)
{
echo $replace = str_replace($url,'http://www.sometext'.$url, $text);
}
}
上記のコードから、同じテキストが 3 倍になり、リンクが 1 つずつ変更されます。毎回、リンクが 1 つだけ置き換えられます。なぜなら、foreach を使用しているためです。しかし、それらを一度に置き換える方法がわかりません。あなたの助けは素晴らしいでしょう!