The*_*o.T 1 php regex actionscript-3
给出以下代码:
<body>
<img src="source.jpg" />
<p>
<img src="source.jpg" id ="hello" alt="nothing" />
<img src="source.jpg" id ="world"/>
</p>
</body>
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法 - 使用正则表达式(或更好?) - 替换它,使它成为这样:
<body>
<img src="source.jpg" id="img_0" />
<p>
<img src="source.jpg" id ="img_1" alt="nothing" />
<img src="source.jpg" id ="img_2"/>
</p>
</body>
Run Code Online (Sandbox Code Playgroud)
换一种说法 :
所有<image />标签都由一个id属性填充.
该id属性应该包含一个递增的属性(这不是真正的问题,尽管它只是替换过程的一部分)
我想需要两个传递,一个用于删除所有存在的id属性,另一个用于填充新的属性?
<?php
$data = <<<DATA
<body>
<img src="source.jpg" />
<p>
<img src="source.jpg" id ="hello" alt="nothing" />
<img src="source.jpg" id ="world"/>
</p>
</body>
DATA;
$doc = new DOMDocument('1.0', 'UTF-8');
$doc->strictErrorChecking = true;
$doc->standalone = true;
$doc->xmlStandalone = true;
$doc->formatOutput = true;
$doc->loadXML($data, LIBXML_NOWARNING | LIBXML_NOERROR);
$sNode = $doc->getElementsByTagName("img");
$id = 0;
foreach($sNode as $searchNode)
{
$searchNode->setAttribute('id', "img_$id");
$doc->importNode($searchNode);
$id++;
}
$result = $doc->saveHTML();
echo $result;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2333 次 |
| 最近记录: |