我有这个字符串:
<img src=images/imagename.gif alt='descriptive text here'>
我试图把它分成以下两个字符串(两个字符串的数组,什么都有,只是分解)。
imagename.gif
descriptive text here
请注意,是的,它实际上是<
而不是<
。与字符串的结尾相同。
我知道正则表达式就是答案,但我对正则表达式不够好,不知道如何在PHP中实现它。
答案 0 :(得分:2)
试试这个:
<?php
$s="<img src=images/imagename.gif alt='descriptive text here'>";
preg_match("/^[^\/]+\/([^ ]+)[^']+'([^']+)/", $s, $a);
print_r($a);
输出:
Array
(
[0] => <img src=images/imagename.gif alt='descriptive text here
[1] => imagename.gif
[2] => descriptive text here
)
答案 1 :(得分:2)
更好地使用DOM xpath rather than regex
<?php
$your_string = html_entity_decode("<img src=images/imagename.gif alt='descriptive text here'>");
$dom = new DOMDocument;
$dom->loadHTML($your_string);
$x = new DOMXPath($dom);
foreach($x->query("//img") as $node)
{
echo $node->getAttribute("src");
echo $node->getAttribute("alt");
}
?>