ねえ、文字列からすべての画像を削除する必要があり、正しい方法を見つけることができません。ここでPHP - 文字列からタグを取り除く
は私がしようと試みたものですが、それは動作しません:
preg_replace("/<img[^>]+\>/i", "(image) ", $content);
echo $content;
任意のアイデア?
ねえ、文字列からすべての画像を削除する必要があり、正しい方法を見つけることができません。ここでPHP - 文字列からタグを取り除く
は私がしようと試みたものですが、それは動作しません:
preg_replace("/<img[^>]+\>/i", "(image) ", $content);
echo $content;
任意のアイデア?
の前に\
を削除してみてください。
編集:私はあなたの正規表現をテストしたところ、正常に動作します。これは私が使用したものである:
<?
$content = "this is something with an <img src=\"test.png\"/> in it.";
$content = preg_replace("/<img[^>]+\>/i", "(image) ", $content);
echo $content;
?>
結果は次のとおりです。私はstrip_tags
方法を使用することをお勧めし
this is something with an (image) in it.
これは画像のaltと置き換えられる(画像)以外は作ることができますか? – MysteryDev
。
preg_replace
は元の文字列を変更しないため、結果を$content
に戻す必要があります。
$content = preg_replace("/<img[^>]+\>/i", "(image) ", $content);
ショーンそれはプレーンテキストのみだ結果//私はちょうど
$content = preg_replace("/<img[^>]+\>/i", " ", $content);
echo $content;
このコードを使用しました正常に動作します。できます!!!
ニュースの最初の300語をプレビューとして表示したかったのですが、残念ながら、最初の300語以内に画像がある場合はプレビューのリストに表示され、実際にレイアウトに混乱しました。私は上記のコードを使用して私のデータベースから取った文字列からすべての画像を隠し、それはすばらしく動作します!
$news = $row_latest_news ['content'];
$news = preg_replace("/<img[^>]+\>/i", "", $news);
if (strlen($news) > 300){
echo substr($news, 0, strpos($news,' ',300)).'...';
}
else {
echo $news;
}
コメントは、ミニマークアップの書式設定を使用してください:[リンク](http://example.com)_italic_ **太字** 'コード'。投稿者は常にあなたのコメントを通知されます。以前のコメント作成者にも通知するには、ユーザー名を記述してください: – xavip
$content = strip_tags($content, '<img>');
ユーザ入力データベーステーブルで
<img src="#">
はちょうど私のための文字この#
作品を挿入した場合はクリーンでシンプルな方法
strip_tags()の2番目のパラメーターは、許可タグのためのもので、削除するタグを指定するものではありません。実際には逆のバージョンがあるはずですが(私が知っている限りでは)存在しません。 – twistedpixel
$this->load->helper('security');
$h=mysql_real_escape_string(strip_image_tags($comment));
ある
単にCodeIgniterののform_validationクラスを使用します。
strip_image_tags($str).
$this->load->library('form_validation');
$this->form_validation->set_rules('nombre_campo', 'label', 'strip_image_tags');
彼はCodeIgniterを使用していると言いましたか? – galdikas
$コンテンツ=にpreg_replace(...、$コンテンツ)。 –