我看了很多地方,似乎无法找到如何做str_replace但是搜索整个文档而不只是一个字符串。
例如,通过使用字符串替换,我可以检查字符串,查找某些文本,并用其他内容替换该文本。
我想查看整个页面(整个index.php页面)。查找某些文本,并用新文本替换该文本。
我可以使用jquery完成此任务,唯一的问题是它在页面加载后完成,因此它的加载会使信息加倍。我需要在页面加载之前完成它。或者也许还有另一种方法可以在页面加载之前用javascript更改文本。但是数字PHP最适合这个。有什么建议吗?
- 更新一次 -
我正在使用easyazon插件加载亚马逊的产品。以下是将图像从亚马逊拉入我的索引页面的具体代码。
<?php if($image_atts) { ?>
<div class="easyazon-block-image-container">
<?php printf('<a %s><img %s /></a>', easyazon_collapse_attributes($link_atts), easyazon_collapse_attributes($image_atts)); ?>
</div>
<?php } ?>
在$ image_atts数组下,代码为&gt;
if(isset($item['images']) && is_array($item['images'])) {
$image_index = 3;
while($image_index >= 0) {
if(isset($item['images'][$image_index])) {
$image_atts = array(
'alt' => $item['title'] ? $item['title'] : '',
'class' => 'easyazon-block-information-image',
'height' => $item['images'][$image_index]['height'],
'src' => $item['images'][$image_index]['url'],
'width' => $item['images'][$image_index]['width'],
);
break;
}
$image_index--;
}
} else {
$image_atts = false;
}
在生成后查看index.php的源代码。图片标签看起来像这样。
<div class="easyazon-block-image-container">
<img class="xxx" src="https://xxxx.amazon.com/xxxx/xxx/xxx/xxxxx120.jpg">
</div>
这就是我的问题所在。如果你看一下图像标签的src部分,从亚马逊下拉120px宽的小图像,如文件名末尾所示。
我需要的是通过将120更改为300来从亚马逊下拉更大宽度的图像。
https://xxxx.amazon.com/xxxx/xxx/xxx/xxxxx300.jpg
反过来将图像拉下300px宽。
我尝试在jquery中执行此操作,以搜索字符串“120”并将其替换为“300”。这工作成功但反过来因为它在浏览器加载后发生,它导致浏览器下载2个不同的图像。一个在120px,一个在300px。所以这绝对不行。对于页面上的每个图像,它将下载两个版本的图像。
我需要做的是在 easyazon-block-image-container 中查找字符串120,然后在将其发送到浏览器之前将其更改为300。我希望这有助于提供更多的代码。
我不想在开发人员隐私的插件上提供太多代码。但是为了我自己的防守,我看了整个插件,无法找到插件告诉自己下载120px版本的图像的任何地方。如果是这种情况,我可以在代码中将其更改为300。任何帮助,将不胜感激。阻止我使用我的网站的最后一件事:(
答案 0 :(得分:0)
字符串可以是您想要的短或长,str_replace()
应该可以正常工作。