【问题标题】:Need to remove "src=" from all PHP array values [duplicate]需要从所有 PHP 数组值中删除“src=”[重复]
【发布时间】:2012-01-22 03:22:04
【问题描述】:

可能重复:
How to parse and process HTML with PHP?

这是我想要做的:

1.)从我的 wordpress 博客文章中查找所有图片

2.) 在帖子顶部创建指向其图片 URL 的链接

3.)为这些链接中的每一个赋予属性:

rel="prettyPhoto[ INSERT POST TITLE HERE ]"

以下是我目前所拥有的:

$szPostContent = $post->post_content;
$szSearchPattern = '@src="([^"]+)"@';

// Run preg_match_all to grab all the images and save the results in $aPics
preg_match_all( $szSearchPattern, $szPostContent, $aPics );


// Check to see if we have at least 1 image src
$iNumberOfPics = count($aPics[0]);


if ( $iNumberOfPics > 0 ) {

///this is what I want to do
/// $aPicsTRIMMED = preg_replace('/src=/','/http=/',$aPics);

 for ( $i=0; $i < $iNumberOfPics ; $i++ ) {
echo ' <a rel="prettyPhoto['.$portTit.']"';
      echo $aPics[0][$i];
echo '>Image</a>';

     };
};

现在,这段代码让我得到以下信息:

<a rel="prettyPhoto[Correct Post Title]" src="http://mydomain.com/myimage.jpg">Image</a>

非常接近,但我需要 href 而不是 src。如果您在底部看到注释掉了,我一直在尝试使用 preg replace(错误地)并且不确定这是否朝着正确的方向发展。这是我第一次接触 PHP,我碰壁了。希望更熟悉的人能够在我之前解决这个问题......(如果我做到了,我会发布成功的故事)与此同时,请在我发疯之前提供帮助。

谢谢

【问题讨论】:

    标签: php arrays preg-replace prettyphoto


    【解决方案1】:

    替换:

    echo $aPics[0][$i];
    

    与:

    echo str_replace('src=', 'href=', $aPics[0][$i]);
    

    【讨论】:

      【解决方案2】:

      您正在使用这一行注入整个匹配 src=...

            echo $aPics[0][$i];
      

      但您应该只使用来自 ye 正则表达式的内部匹配组 ([^"]+)。那一个在匹配结果数组的[1] 中可用:

            echo ' href="' . $aPics[1][$i] . '"';
      

      它只需要被新属性sn-ps href="..."包围。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-02
        • 2013-07-25
        • 1970-01-01
        • 2014-03-23
        • 2011-04-11
        • 2011-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多