我如何翻转正则表达式?
How do i Flip a regex?
我正在使用以下正则表达式来检查输入是否存在允许的字符...(a-zA-z0-9 点、逗号、破折号和单引号以及 br 标记)
<?php
$regex_char_appearance = '/([A-Za-z0-9 \-\.\,\']|(<br>))/';
?>
我一直在尝试创建一个正则表达式来清理用户输入。我只是无法让它工作所以尝试了不同的东西,比如...
<?php
$regex_char_appearance = '/(?!<br>)([^A-Za-z0-9 \-\.\,\'])/';
$regex_char_appearance = '/([^A-Za-z0-9 \-\.\,\']|[^(<br>)])/';
//remove anything other then alphabetic and allowed
$post_char_appearance = preg_replace( $regex_char_appearance , '' , $post_char_appearance);
?>
所以目标是删除除 a-zA-z0-9、点、逗号、破折号、单引号和带 preg_replace.
输出的 br 标签以外的任何内容
谁能帮我整理一个有效的正则表达式?
您可以将不允许使用的字符与 [^A-Za-z0-9.,'-]
匹配(否定 character class 匹配 class 中定义的任何字符)。
要保持 br
标签完整,请用一对未转义的括号匹配并捕获它(grouping construct (...)
) and restore with a backreference </code>: </p>
<pre><code>$regex_char_appearance = '~(<br\s*/?>)|[^A-Za-z0-9.,'-]~';
$post_char_appearance = preg_replace($regex_char_appearance, '' , $post_char_appearance);
请注意 [A-z]
不仅匹配所有 ASCII 字母,更多信息请参见
我正在使用以下正则表达式来检查输入是否存在允许的字符...(a-zA-z0-9 点、逗号、破折号和单引号以及 br 标记)
<?php
$regex_char_appearance = '/([A-Za-z0-9 \-\.\,\']|(<br>))/';
?>
我一直在尝试创建一个正则表达式来清理用户输入。我只是无法让它工作所以尝试了不同的东西,比如...
<?php
$regex_char_appearance = '/(?!<br>)([^A-Za-z0-9 \-\.\,\'])/';
$regex_char_appearance = '/([^A-Za-z0-9 \-\.\,\']|[^(<br>)])/';
//remove anything other then alphabetic and allowed
$post_char_appearance = preg_replace( $regex_char_appearance , '' , $post_char_appearance);
?>
所以目标是删除除 a-zA-z0-9、点、逗号、破折号、单引号和带 preg_replace.
输出的 br 标签以外的任何内容谁能帮我整理一个有效的正则表达式?
您可以将不允许使用的字符与 [^A-Za-z0-9.,'-]
匹配(否定 character class 匹配 class 中定义的任何字符)。
要保持 br
标签完整,请用一对未转义的括号匹配并捕获它(grouping construct (...)
) and restore with a backreference </code>: </p>
<pre><code>$regex_char_appearance = '~(<br\s*/?>)|[^A-Za-z0-9.,'-]~';
$post_char_appearance = preg_replace($regex_char_appearance, '' , $post_char_appearance);
请注意 [A-z]
不仅匹配所有 ASCII 字母,更多信息请参见