需要一些想法,使用php [动态数据]从textarea post值获取第一个图像路径?

时间:2016-10-10 16:13:20

标签: php html

需要一些想法,使用php [动态数据]从textarea post值获取第一个图像路径?

当按下提交按钮时,我将从$_POST['textbox']获得这样的数据,所以我想知道从这个值获得第一个图像路径。

我试着思考了好几个小时。但我不能那样做,我该怎么办?

<p>
<span style="background-color:" rgb(206,0,0);>Hello</span>
 <span style="text-decoration:" underline;">World</span>
 <img src="https://www.google.co.th/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" style="width: 544px;">
 <span style="font-style:italic;">Hello</span>
 <span style="font-weight: bold;">World<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/DuncanEdwards1.jpg/100px-DuncanEdwards1.jpg" style="width: 100px;"></span>
<br></p>

2 个答案:

答案 0 :(得分:1)

没有正则表达式的一种方法是将DOMDocumentDOMXPath结合使用,如下所示:

$str='<p><span style="background-color:" rgb(206,0,0);>Hello</span> <span style="text-decoration:" underline;">World</span> <img src="https://www.google.co.th/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" style="width: 544px;"> <span style="font-style:italic;">Hello</span> <span style="font-weight: bold;">World<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/DuncanEdwards1.jpg/100px-DuncanEdwards1.jpg" style="width: 100px;"></span><br></p>';

libxml_use_internal_errors( true );

$dom=new DOMDocument;
$dom->validateOnParse=false;
$dom->standalone=true;
$dom->strictErrorChecking=false;
$dom->recover=true;
$dom->formatOutput=false;
$dom->loadHTML( $str );

libxml_clear_errors();

$xp=new DOMXPath( $dom );
$col=$xp->query('//img');
$images=array();

foreach( $col as $img ) $images[]=$img->getAttribute('src');

echo $images[0];

答案 1 :(得分:0)

在不知道如何形成HTML的信息的情况下,我首先想到的是使用RegEx来获取在&lt; img

之后找到的第一个引用值