我一直在尝试删除一些文本…在两组括号之间…两个小时以来,我什么都试过了。我已经在这里找到了现有的问题,答案不适合我…好了我有什么
[attachment=0:randomID]<!-- ia0 -->randomIMGnam.png<!-- ia0 -->[/attachment:randomID]
我真的想从字符串的开头删除所有这些,我可以删除括号内的所有内容,但每次都无法删除图像名称
是的,这是来自phpbb,我已经从我的数据库中取出了它,没有问题,但不希望它在我回显时显示。
提前谢谢我真的希望我真的希望有人能帮忙
我已经尽力了1.$extension_pos = strrpos($entry, '<!-- ia0 -->'); // find position of the last dot, so where the extension starts
$output = substr($entry, 0, $extension_pos) . '' . substr($entry, $extension_pos);
2。$output= preg_replace('#'].*?'[#', '', $entry);
$output = preg_replace('/'[[^]]*']/', '', $entry);
$output explode(']', $entry);
$imagename = preg_replace('#([attachment.*?]).*?([/attachment.*?])#', '$1$2', $entry);
您可以使用这个正则表达式来替换:
$string = ' [attachment=0:randomID]<!-- ia0 -->randomIMGnam.png<!-- ia0 -->[/attachment:randomID]';
$string = preg_replace('/'[(.*?)']/', '', $string);
您可以使用正则表达式,例如:
<?php
$string = 'test [attachment=0:randomID]randomIMGnam.png[/attachment:randomID] test2 [something]
test3
[/something] test4';
echo preg_replace('#('[(.*)'](.*)'[/.*'])#Us','',$string);
// output test test2 test4
?>
对于这种任务,使用regex可能会很繁重。
相反,您可以使用一个简单的推理,每当遇到左括号时,将计数器加1,每当遇到右括号时,将计数器减1。
只要计数器> 0就忽略字符