ホームページ > バックエンド開発 > PHPチュートリアル > PHPのstr_replace関数で3箇所を同時に置換できますか?

PHPのstr_replace関数で3箇所を同時に置換できますか?

WBOY
リリース: 2016-06-23 13:45:04
オリジナル
1136 人が閲覧しました

$content = str_replace('#p#subtitle#e#','',$body);
$content = str_replace('次のページをご覧ください', '',$body);
$content = str_replace(' /uploads', 'http://www.****.com/uploads',$body);

皆さん、$body で読み取った内容を出力して #e# 内の #p# サブタイトルを置き換えたいと思います。 」 「「次のページをご覧ください」 「/uploads」

これを実現するにはどうすればよいですか?最後のステートメントのみを置き換えることができ、同時に 3 つを置き換えることはできません


ディスカッションへの返信 (解決策)

$body =<<< 'TXT'各位,我想输出的$body读取的内容,同时替换掉里面的“#p#副标题#e#”  “'请看下一页”  “/uploads”TXT;$body = str_replace('#p#副标题#e#','',$body);$body = str_replace('请看下一页', '',$body);$body = str_replace('/uploads', 'http://www.****.com/uploads',$body);echo $body;
ログイン後にコピー
はこのように書くと簡単です
body =<<< 'TXT'各位,我想输出的$body读取的内容,同时替换掉里面的“#p#副标题#e#”  “'请看下一页”  “/uploads”TXT;$p = array('#p#副标题#e#', '请看下一页', '/uploads');$r = array('','', 'http://www.****.com/uploads');echo str_replace($p, $r, $body);
ログイン後にコピー

header("Content-type: text/html; charset=utf-8");$body = <<<BODY#p#副标题#e#请看下一页/uploadsBODY;//$content = str_replace('#p#副标题#e#','',$body);//$content = str_replace('请看下一页', '',$body);//$content = str_replace('/uploads', 'http://www.****.com/uploads',$body);echo "替换前的内容:" . "<br/>" . $body . "<br/>" . "<hr/>";$arr_orignal_content = array ('#p#副标题#e#', '请看下一页', '/uploads');$arr_replace_content = array ('', '', 'http://www.baidu.com/uploads');$body = str_replace($arr_orignal_content, $arr_replace_content, $body);echo "替换后的内容:" . "<br/>" . $body;
ログイン後にコピー

上記のものはすべて正しいです解決策

正規表現を使用できます。これら 3 つを 1 つの正規表現にまとめるだけです

最初の置換の後は、$body を使用せず、$content? 行の後に置換を使用します。

リーリー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート