PHP - 替换两个特定字符后的所有文本
PHP - Replace all text after two specific characters
我正在尝试使用 PHP 在多行字符串上执行 search/replace。我需要检查每一行,如果该行包含双斜杠,删除它和后面的所有文本,但保持下一行完好无损。
示例文本:
文本行 1 示例
文本行 2 示例 // 要删除,包括双斜杠
文本行示例 3
预期输出:
文本行 1 示例
文本行 2 的样本
文本行示例 3
不需要去掉双斜杠前的空格space。
我找到了这个解决方案:
PHP change whole line if a word exist in a line of .txt file
它几乎符合我的需要,问题是它替换了整行,而不仅仅是所需的文本。
如有任何帮助,我们将不胜感激。
虽然我不使用 PHP,但您始终可以替换以下正则表达式的所有匹配项:
\/\/.*
请注意,您需要确保未启用 "single line" 标志(点与换行符匹配)。
您可以在每一行中使用以下表达式:
$line = preg_replace("/(.*)\/\/.*/","",$line);
这会将 Hello // world!
替换为 Hello
尝试在 preg_match
中使用此正则表达式并将其替换为 ''
/\/\/[^\r\n]*/ig
你可以在这里查看https://regex101.com/r/MC6OcN/2
我正在尝试使用 PHP 在多行字符串上执行 search/replace。我需要检查每一行,如果该行包含双斜杠,删除它和后面的所有文本,但保持下一行完好无损。
示例文本:
文本行 1 示例
文本行 2 示例 // 要删除,包括双斜杠
文本行示例 3
预期输出:
文本行 1 示例
文本行 2 的样本
文本行示例 3
不需要去掉双斜杠前的空格space。
我找到了这个解决方案:
PHP change whole line if a word exist in a line of .txt file
它几乎符合我的需要,问题是它替换了整行,而不仅仅是所需的文本。
如有任何帮助,我们将不胜感激。
虽然我不使用 PHP,但您始终可以替换以下正则表达式的所有匹配项:
\/\/.*
请注意,您需要确保未启用 "single line" 标志(点与换行符匹配)。
您可以在每一行中使用以下表达式:
$line = preg_replace("/(.*)\/\/.*/","",$line);
这会将 Hello // world!
替换为 Hello
尝试在 preg_match
中使用此正则表达式并将其替换为 ''
/\/\/[^\r\n]*/ig
你可以在这里查看https://regex101.com/r/MC6OcN/2