我正在使用drupal並且有一個包含html負載的變量。我想要做的是選擇出現在該html中的第一個圖像,捕獲圖像src,以便我可以用其他方式操作圖像,然後從html中刪除所有圖像。我現在應該有一個包含捕獲的第一個圖像源的變量,以及一個包含html減去任何圖像的變量。從字符串中移除<img>標記並將其放置在變量中img src在字符串中的位置可以變化
第一圖像放到我已經嘗試了變數 -
$texthtml = $node->teaser;
preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $texthtml, $image);
echo $image['src'];
這工作得很好,只要圖像碼遵循以下邏輯 - 「IMG SRC ..」 但是感謝我的內容管理系統,一些img標籤不要在'img'之後直接放置'src',例如 - 'img class ..'。在這種情況下,上面的代碼只會採用'img src ..'的特定順序的第一個圖像。我如何在img代碼可以按任意順序執行此操作?
爲了然後從我成功使用原始字符串中刪除圖像 -
$stripped = $node->teaser;
$stripped = preg_replace("/<img[^>]+\>/i", "(image) ", $stripped);
echo $stripped;
謝謝!
請重新編輯你的問題,因爲它是不明確的,如果你真的不想要提取標籤(這將更有意義,我認爲)的SRC一部分還是真的想剛剛擺脫'img'部分 –
不要使用正則表達式來解析html! – Eric
WebnetMobile.com - 我已重新編輯該問題,道歉。埃裏克,我該怎麼做呢?謝謝! – Rob