PHP中没有多字节'preg'函数,这是否意味着默认的preg_functions都是mb安全的?在php文档中找不到任何提及.
在我的PHP我preg_match用来验证输入文本.
if(preg_match('/^[a-zA-Z0-9]+$/', $firstname)) {
}
Run Code Online (Sandbox Code Playgroud)
但这只允许使用字母数字,并且不允许使用空格.我想允许空格,字母和数字.和句点(.)和短划线( - )
请帮帮我吗?提前致谢.
我的文本字符串如下所示:
johndoe@domain.com (John Doe)
Run Code Online (Sandbox Code Playgroud)
我需要在@之前得到正确的部分而不是别的.如果重要的话,文本来自一个简单的XML对象.
我的代码看起来像这样:
$authorpre = $key->{"author"};
$re1 = '((?:[a-z][a-z]+))';
if ($c = preg_match_all ("/".$re1."/is", $authorpre, $matches))
{
$author = $matches[1][0];
}
Run Code Online (Sandbox Code Playgroud)
有时用户名可能在@符号前面有数字或下划线,这正是正则表达式停止的地方.
我如何使用php函数preg_match()来测试字符串以查看是否存在任何空格?
例
"这句话将被测试为空格"
"thisOneWouldTestFalse"
对于PHP,使用preg,NOT ereg的最佳电子邮件验证是什么,因为它已被弃用/删除.
我并不需要检查站点存在(它不是像最大的安全性).
我已经找到了许多与ereg相关的方法,但它们(显然)并不是很好的做法.
提前感谢您抽出时间帮助解决这个问题.
preg_match():编译失败:第278行偏移20 session.php的字符类中的无效范围
我不确定为什么这个停止工作几个月后工作可能是代码中的升级..
这是代码
else{
/* Spruce up username, check length */
$subuser = stripslashes($subuser);
if(strlen($subuser) < $config['min_user_chars']){
$form->setError($field, "* Username below ".$config['min_user_chars']."characters");
}
else if(strlen($subuser) > $config['max_user_chars']){
$form->setError($field, "* Username above ".$config['max_user_chars']."characters");
}
/* Check if username is not alphanumeric */
/* PREG_MATCH CODE */
else if(!preg_match("/^[a-z0-9]([0-9a-z_-\s])+$/i", $subuser)){
$form->setError($field, "* Username not alphanumeric");
}
/* PREG_MATCH CODE */
/* Check if username is reserved */
else if(strcasecmp($subuser, GUEST_NAME) == 0){
$form->setError($field, "* Username reserved word");
}
/* Check …Run Code Online (Sandbox Code Playgroud) 我需要正则表达式来检查字符串是否只包含数字,字母,连字符或下划线
$string1 = "This is a string*";
$string2 = "this_is-a-string";
if(preg_match('******', $string1){
echo "String 1 not acceptable acceptable";
// String2 acceptable
}
Run Code Online (Sandbox Code Playgroud) 我有一个字符串:
这是一个文字,"你的余额留下0.10美元",结束0
如何在双引号之间提取字符串并仅包含文本(不带双引号):
你的余额剩下0.10美元
我试过preg_match_all()但没有运气.
我正在尝试用来preg_match验证时间输入是否采用这种格式 - "HH:MM"
我在LONGTEXT列中有这些数据(因此保留了换行符):
Paragraph one
Paragraph two
Paragraph three
Paragraph four
Run Code Online (Sandbox Code Playgroud)
我正在尝试匹配第1段到第3段.我正在使用此代码:
preg_match('/Para(.*)three/', $row['file'], $m);
Run Code Online (Sandbox Code Playgroud)
这什么都不返回.如果我尝试在段落的第一行内工作,请匹配:
preg_match('/Para(.*)one/', $row['file'], $m);
Run Code Online (Sandbox Code Playgroud)
然后代码工作,我得到正确的字符串返回.我在这做错了什么?