显然没有mb_trim在mb_*家庭,所以我想实现一个我自己.
我最近在php.net的评论中发现了这个正则表达式:
/(^\s+)|(\s+$)/u
Run Code Online (Sandbox Code Playgroud)
所以,我将通过以下方式实现它:
function multibyte_trim($str)
{
if (!function_exists("mb_trim") || !extension_loaded("mbstring")) {
return preg_replace("/(^\s+)|(\s+$)/u", "", $str);
} else {
return mb_trim($str);
}
}
Run Code Online (Sandbox Code Playgroud)
正则表达式似乎对我来说是正确的,但我是正则表达式的极力菜鸟.这会有效地删除字符串开头/结尾的任何 Unicode空间吗?
我正在尝试根据这些规范提出一个匹配比特币地址的正则表达式:
比特币地址或简称地址是27-34个字母数字字符的标识符,从数字1或3开始[...]
我认为它看起来像这样
/^[13][a-zA-Z0-9]{27,34}/
Run Code Online (Sandbox Code Playgroud)
事实是,我对正则表达式并不擅长,而且我没有找到一个单一的来源来确认这不会产生假阴性.
我在网上发现了一个^1[1-9A-Za-z][^OIl]{20,40},但我甚至不知道这个[^OIl]部分是什么意思,它似乎与3比特币地址不匹配.
我知道这个话题已经讨论了很多,但我还有一些具体的问题仍未得到解答.例如:
// **PREVENTING SESSION HIJACKING**
// Prevents javascript XSS attacks aimed to steal the session ID
ini_set('session.cookie_httponly', 1);
// Adds entropy into the randomization of the session ID, as PHP's random number
// generator has some known flaws
ini_set('session.entropy_file', '/dev/urandom');
// Uses a strong hash
ini_set('session.hash_function', 'whirlpool');
Run Code Online (Sandbox Code Playgroud)
// **PREVENTING SESSION FIXATION**
// Session ID cannot be passed through URLs
ini_set('session.use_only_cookies', 1);
// Uses a secure connection (HTTPS) if possible
ini_set('session.cookie_secure', 1);
Run Code Online (Sandbox Code Playgroud)
session_start();
// If the user is already …Run Code Online (Sandbox Code Playgroud) 在PHP中,filter_var('www.example.com', FILTER_VALIDATE_URL)返回false.它是否正确?是不是www.example.com有效的URL,或者需要在URL中明确说明协议(http://,ftp://等)是否正式正确?
有谁知道Windows控制台/ MS-DOS使用哪种字体?
我正在寻找一种方法,用PHP中的用户提供的URL进行另一个页面的小预览.
我只想检索页面的标题,图像(如网站的标识)和一些文字或描述(如果可用).没有任何外部库/类,有没有简单的方法可以做到这一点?谢谢
到目前为止,我已经尝试使用DOCDocument类,加载HTML并在屏幕上显示它,但我不认为这是正确的方法
我正在尝试创建一个函数,将给定字符串中每个出现的纯文本电子邮件地址转换为它的html化版本.
假设我有以下代码,htmlizeEmails我正在寻找的功能在哪里:
$str = "Send me an email to bob@example.com.";
echo htmlizeEmails($str); // Echoes "Send me an email to <a href="mailto:bob@example.com">bob@example.com</a>."
Run Code Online (Sandbox Code Playgroud)
如果可能,我希望此功能使用该filter_var功能来检查电子邮件是否有效.
有谁知道如何做到这一点?谢谢!
感谢您的答案,我用令人震惊的正则表达式匹配潜在的电子邮件地址,然后,只有当filter_var验证它,它就会被取代.
function htmlizeEmails($text)
preg_match_all('/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6})/', $text, $potentialEmails, PREG_SET_ORDER);
$potentialEmailsCount = count($potentialEmails);
for ($i = 0; $i < $potentialEmailsCount; $i++) {
if (filter_var($potentialEmails[$i][0], FILTER_VALIDATE_EMAIL)) {
$text = str_replace($potentialEmails[$i][0], '<a href="mailto:' . $potentialEmails[$i][0] .'">' . $potentialEmails[$i][0] .'</a>', $text);
}
}
}
Run Code Online (Sandbox Code Playgroud) 如果我只需要旧的浏览器来识别HTML5标签,我应该使用它,Modernizr还是流行的HTML5 shiv?而且,如果我不需要设置此HTML5标签的样式,我是否需要浏览器才能识别它们?或者只在向这些标签添加CSS时才需要?
谢谢!
在我的网络应用程序中,我使用了两个定期事件,"清理"数据库中的一个表,每15分钟左右执行一次.
我的问题是,这会导致未来的性能问题吗?因为我已经读过某个地方 - 我不记得确切地说 - MySQL事件应该安排在一个月左右运行一次.事实是,同样的事件使表格大小相当缩小(因为它们删除了超过15分钟的记录),这可能会补偿执行频率,对吗?
另外,如果以相同的频率调用它们,有一个大的MySQL事件或许多小事件会更好吗?
php ×5
regex ×3
html ×2
html5 ×2
bitcoin ×1
browser ×1
crontab ×1
css ×1
curl ×1
database ×1
email ×1
font-face ×1
fonts ×1
html-parsing ×1
javascript ×1
mbstring ×1
multibyte ×1
mysql ×1
preg-match ×1
preg-replace ×1
schedule ×1
security ×1
session ×1
sessionid ×1
sql ×1
truetype ×1
unicode ×1
url ×1
web-scraping ×1