1
タグの画像がいくつかあるHTML文書があります。私は配列、値で定義された異なるものを持つ各img sources(src)を変更したいと思います。PHP Regex正確なURL一致、変更img src
私は、次のコードを実行すると、私は私が正しくURL文字列をエスケープするにはどうすればよい
Warning: preg_replace(): Unknown modifier '/' in /var/www/test.php on line 9 Warning: preg_replace(): Unknown modifier '/' in /var/www/test.php on line 9
を取得しますか?
<?php
$body = "<img src=http://www.google.com/img1.jpg><br>"
+ "<img width=300 src=http://www.bbc.co.uk/img1.jpg>";
$changes = array();
$changes[] = array('from' => 'http://www.google.com/img1.jpg',
'to' => 'http://cnn.com/image2.jpg');
$changes[] = array('from' => 'http://www.bbc.co.uk/img1.jpg',
'to' => 'http://www.foo.bar.com/image2.jpg');
foreach ($changes as $change){
$body = preg_replace('/<(img.*src)="'.$change['from'].'".*\/?>/',
'<\1="'.$change['to'].'">', $body)
. PHP_EOL;
}
?>
/を制御文字ではなく文字として確実にピックアップするために、/の前に\を追加すること。 –
"from"テキストにスラッシュ( '/')があります。エスケープする必要があります。 –