Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 找到字符串模式并替换它~_Php_Regex - Fatal编程技术网

Php 找到字符串模式并替换它~

Php 找到字符串模式并替换它~,php,regex,Php,Regex,我有一堆html字符串。(原始字符串) Lorem ipsum door sit amet,一位杰出的领导者。 我是埃吉斯塔斯拉克斯。在酒后驾车时不预先付款 莫莱斯蒂。Fusce facilisis,libero eu pellentesque varius, 这是一个巨大的挑战,是一个侵权行为。 这是一个真理。埃尼安·伊斯图纳, 这是一个很好的例子。 这是一个非常重要的问题。 草蛉。多尼克 两人一组,一人一组。前庭 虎鲸和乌龟的同侧前移 库里亚库拉酒店;孕期妇女 朗卡斯。 因怀孕而导

我有一堆html字符串。(原始字符串)

Lorem ipsum door sit amet,一位杰出的领导者。
我是埃吉斯塔斯拉克斯。在酒后驾车时不预先付款
莫莱斯蒂。Fusce facilisis,libero eu pellentesque varius,
这是一个巨大的挑战,是一个侵权行为。
这是一个真理。埃尼安·伊斯图纳,
这是一个很好的例子。
这是一个非常重要的问题。
草蛉。多尼克
两人一组,一人一组。前庭
虎鲸和乌龟的同侧前移
库里亚库拉酒店;孕期妇女
朗卡斯。
因怀孕而导致的自然社会问题, 黄花蛇舌草。南-欧-埃格斯塔斯-伊普苏姆。杜伊斯酒店 交通工具,坐在我的座位上。
纳勒姆·利伯罗·洛雷姆(Nullam libero lorem),帝国主义者的继承人,波尔蒂托·阿梅特·图皮斯(amet turpis)。 你是帝王,我是狮子座的阿梅特。 Mauris ultrices nulla ac dolor feugiat erat egestas的发酵液。奎斯克 黄背天牛。梅塞纳斯·达皮布斯·多洛和努克 索利西图丁·拉奥里特。塞德拉克斯河、法雷特拉河、奥纳雷河 拉克斯。在狮子座的洛勒姆,我的内心充满了活力。莫比·森佩尔 维利特精英酒店
在Venetatis elementum mauris, 在拍卖人NullaCursus ac.Duis accumsan nisi ut 厄洛斯·尤伊斯莫德车。两人一组,两人一组 自由饮食。 塞德·特里斯蒂克·普尔文纳·苏西比特。
通过php脚本,我想找到一个字符串模式 并用其他字符串替换它。
下面您可以看到字符串模式。
您可以在原始字符串中找到它3次。

在原始字符串中,有很多这种模式的字符串
“唯一名称”是模式的标识id,唯一,例如)ID23291
这是替换字符串

<div id="unique--name" class="raw-image-info"></div>

最后一个字符串应该是这样的~

Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Cras a egestas lacus. Praesent non ante in dui pellentesque 
molestie. Fusce facilisis, libero eu pellentesque varius, 
est magna pretium urna, id dictum urna tortor eget neque. 
Sed a arcu a lectus euismod volutpat. Aenean est urna, 
ultricies quis consequat sit amet, pretium a massa. 
Praesent sit amet nisl nec dolor malesuada posuere. 
Phasellus ac urna eget ligula vehicula cursus. Donec
 volutpat dui egestas dolor aliquet interdum. Vestibulum 
 ante ipsum primis in faucibus orci luctus et ultrices 
 posuere cubilia Curae; Duis sed neque sed mauris gravida 
 rhoncus. 
<div id="ID5555" class="raw-image-info"></div>    
Cum sociis natoque penatibus et magnis dis parturient montes, 
nascetur ridiculus mus. Nam eu egestas ipsum. Duis ultrices 
vehicula metus, sit amet convallis libero suscipit ac.

<div id="ID7777" class="raw-image-info"></div>    

 Nullam libero lorem, suscipit in imperdiet ac, porttitor sit amet turpis.
 Cras tincidunt imperdiet eros, id sagittis felis pellentesque sit amet. 
 Mauris ultrices nulla ac dolor fermentum at feugiat erat egestas. Quisque 
 dapibus tellus eu dolor sagittis consequat. Maecenas dapibus dolor et nunc 
 sollicitudin laoreet. Sed lacus est, pharetra a fringilla eu, ornare varius 
 lacus. Etiam at lorem in leo molestie interdum ut vitae diam. Morbi semper 
 velit vitae elit ullamcorper id rutrum 

<div id="ID9999" class="raw-image-info"></div>    

In venenatis elementum mauris, 
at auctor nulla cursus ac. Duis accumsan nisi ut 
eros euismod vehicula. Duis luctus dui eget nibh 
tempus lacinia tristique libero imperdiet. 
Sed tristique pulvinar suscipit. 
Lorem ipsum door sit amet,一位杰出的领导者。
我是埃吉斯塔斯拉克斯。在酒后驾车时不预先付款
莫莱斯蒂。Fusce facilisis,libero eu pellentesque varius,
这是一个巨大的挑战,是一个侵权行为。
这是一个真理。埃尼安·伊斯图纳,
这是一个很好的例子。
这是一个非常重要的问题。
草蛉。多尼克
两人一组,一人一组。前庭
虎鲸和乌龟的同侧前移
库里亚库拉酒店;孕期妇女
朗卡斯。
因怀孕而导致的自然社会问题,
黄花蛇舌草。南-欧-埃格斯塔斯-伊普苏姆。杜伊斯酒店
交通工具,坐在我的座位上。
纳勒姆·利伯罗·洛雷姆(Nullam libero lorem),帝国主义者的继承人,波尔蒂托·阿梅特·图皮斯(amet turpis)。
你是帝王,我是狮子座的阿梅特。
Mauris ultrices nulla ac dolor feugiat erat egestas的发酵液。奎斯克
黄背天牛。梅塞纳斯·达皮布斯·多洛和努克
索利西图丁·拉奥里特。塞德拉克斯河、法雷特拉河、奥纳雷河
拉克斯。在狮子座的洛勒姆,我的内心充满了活力。莫比·森佩尔
维利特精英酒店
在Venetatis elementum mauris,
在拍卖人NullaCursus ac.Duis accumsan nisi ut
厄洛斯·尤伊斯莫德车。两人一组,两人一组
自由饮食。
塞德·特里斯蒂克·普尔文纳·苏西比特。
我觉得有点复杂。正则表达式和preg_替换是一种方法?
我必须找到另一种方法来完成这项工作吗?

Preg\u replace()
应该可以帮助您完成更换

声明模式并替换它将很容易。我需要更多的时间来编写代码,以获取唯一的\u id并将其作为div id。目前,我正在向您大致了解如何使用
preg\u replace()

$pattern='/\
    [^n]*class=\“文件详细信息”\>\/'; $replace=''; $string=“任何可能的字符串”; $string=preg_replace($pattern,$replace,$string);
这将有助于您替换模式。我会在找到问题的完整解决方案后尽快更新答案。希望这篇文章能对你的问题有所帮助

希望下面的例子能更好地指导你。。尽管如此,我仍然需要找到一个解决方案来获得唯一的_id,但希望这能给您带来更多信心,让您朝着解决方案迈进。:)

$string='faucibus orci luctus et ultrices posuere cubilia Curae中的前同侧本体;她是一名孕妇
最后,我找到了这个问题的解决方案
<div id="unique--name" class="raw-image-info"></div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Cras a egestas lacus. Praesent non ante in dui pellentesque 
molestie. Fusce facilisis, libero eu pellentesque varius, 
est magna pretium urna, id dictum urna tortor eget neque. 
Sed a arcu a lectus euismod volutpat. Aenean est urna, 
ultricies quis consequat sit amet, pretium a massa. 
Praesent sit amet nisl nec dolor malesuada posuere. 
Phasellus ac urna eget ligula vehicula cursus. Donec
 volutpat dui egestas dolor aliquet interdum. Vestibulum 
 ante ipsum primis in faucibus orci luctus et ultrices 
 posuere cubilia Curae; Duis sed neque sed mauris gravida 
 rhoncus. 
<div id="ID5555" class="raw-image-info"></div>    
Cum sociis natoque penatibus et magnis dis parturient montes, 
nascetur ridiculus mus. Nam eu egestas ipsum. Duis ultrices 
vehicula metus, sit amet convallis libero suscipit ac.

<div id="ID7777" class="raw-image-info"></div>    

 Nullam libero lorem, suscipit in imperdiet ac, porttitor sit amet turpis.
 Cras tincidunt imperdiet eros, id sagittis felis pellentesque sit amet. 
 Mauris ultrices nulla ac dolor fermentum at feugiat erat egestas. Quisque 
 dapibus tellus eu dolor sagittis consequat. Maecenas dapibus dolor et nunc 
 sollicitudin laoreet. Sed lacus est, pharetra a fringilla eu, ornare varius 
 lacus. Etiam at lorem in leo molestie interdum ut vitae diam. Morbi semper 
 velit vitae elit ullamcorper id rutrum 

<div id="ID9999" class="raw-image-info"></div>    

In venenatis elementum mauris, 
at auctor nulla cursus ac. Duis accumsan nisi ut 
eros euismod vehicula. Duis luctus dui eget nibh 
tempus lacinia tristique libero imperdiet. 
Sed tristique pulvinar suscipit. 
$pattern = '/\<ul class=\"image-info\"\>[^n]*class=\"file-detail\"\>\<\/div\>/';

$replace = '<div id="$unique_num" class="raw-image-info"></div>';

$string = "whatever may be string";

$string = preg_replace($pattern, $replace, $string);
$string = 'ante ipsum primis in faucibus orci luctus et ultrices  posuere cubilia Curae; Duis sed neque sed mauris gravida  rhoncus.  <ul class="image-info">     <li id=\"ID5555-1\" class=\"image-size\"></li>     <li id=\"ID5555-2\" class=\"image-height\"></li>     <li id=\"ID5555-3\" class=\"image-width\"></li> </ul> <div id=\"ID5555-4\"  class=\"file-preview\"></div> <div id=\"ID5555-5"  class="file-detail"></div> Cum sociis natoqu';

//echo $string;

$unique_num = 'ID5555';

$pattern = '/\<ul class=\"image-info\"\>[^n]*class=\"file-detail\"\>\<\/div\>/';


$replace = "<div id='".$unique_num."' class='raw-image-info'></div>";



$string = preg_replace($pattern, $replace, $string);

echo $string;
$(document).ready(function(){
    $("ul.image-info").each(function(){
        $(this).replaceWith('');
    });
    $("div.file-preview").each(function(){
        $(this).replaceWith('<div class="raw-image-info" id="' + 
          $(this).attr("id").substring(0, $(this).attr("id")-1) + '"></div>');
    });
    $("div.file-detail").each(function(){
        $(this).replaceWith('');
    });
});