草庐IT

符号主义

全部标签

php - 在带有重音符号的 substr() 文本后显示有趣的字符

我正在使用substr()函数来剪切字符串。它对普通字符串工作正常,但如果字符串带有重音符号,它会在剪切之前显示有趣的字符,如下所示:代码如下:$rawtitle="Tinđăngcủagiangvy1011tincủadtdd";$title=substr($rawtitle,0,36).'...';echo$title;这是我得到的echo结果:有什么办法可以解决这个问题或使用其他功能来实现这个目标吗?非常感谢 最佳答案 substr不是多字节安全的。字符ủ由多个字节表示。使用substr,您可以剪切这些字节序列并损坏字符串。您

php - 正则表达式在字符串中查找标签 - 不采用初始标签符号

我正尝试在PHP中执行此操作,我只是想知道,因为我对Regex不是很好。我试图在一个字符串中找到所有主题标签,并将它们包装在一个指向Twitter的链接中。为此,我需要主题标签的内容,不带符号。我想选择#hashtag-没有前面的#=>只是为了返回hashtag?我想在一行中完成,但我正在做一个preg_replace,然后是一个字符串替换,如下所示:$string=preg_replace('/\B#([a-z0-9_-]+)/i','$0',$string);$string=str_replace('https://twitter.com/hashtag/#','https://t

PHP - is_numeric() 的使用是必要的,还是可以使用比较符号来处理所有正数的情况?

好像比较简单的标志>,>=它们的反向分量可以评估某个变量是否为数字。示例$whatami='beast';($whatami有没有is_numeric()正值(数字>0)是否需要使用?似乎使用上面的比较符号可以确定变量是否为数字.. 最佳答案 正如我发现的那样,许多辅助函数确实是必需的,因为PHP不是强类型的。我发布了similarquestion(虽然不是那相似)关于本周早些时候的isset。需要注意的一件事是,PHP会将您的字符串更改为其整数值,以便在某些情况下(当存在混合类型时)进行比较。这一点不容忽视。我认为这是is_num

php - 用于表情符号的复杂 PHP/Perl 正则表达式

我已经在谷歌上查过这个问题的帮助,但所有的答案都忽略了替换方法中的一个致命缺陷。本质上我有一组表情符号,例如:)LocK:eek等等,需要用图像标签替换它们。我遇到的问题是识别一个特定的表情符号不是单词的一部分并且单独在一条线上。例如,在我们的网站上,我们允许“快速链接”,这些链接不包含在采用go:forum、user:Username等格式的笑脸替换中。我读过的几乎所有答案都不允许这种可能性,因此会破坏这些链接(即goorum)。我已经尝试用不同的方法来解决这个问题,以检查行的开头、空格/换行符等等,但我的运气并不好。如果您对此问题有任何帮助,我们将不胜感激。哦,我还在使用PHP5和

php - 如何将多维集合(数组)展平为宏(Laravel)中的点符号版本?

示例输入为json{"user":{"name":"Thomas","age":101},"shoppingcart":{"products":{"p1":"someprod","p2":"someprod2"},"valuta":"eur","coupon":null,"something":["bla1","bla2"]}}预期输出['user.name'=>'Thomas','user.age'=>101,'shoppingcart.products.p1'=>'someprod',...'shoppingcart.something.1'=>'bla1']我已经编写了这个函数,

php - 正则表达式匹配任何 UTF 字符,不包括标点符号

我正在PHP中准备一个函数来自动转换字符串以用作URL(*.html)中的文件名。虽然应该使用ASCII以确保安全,但出于SEO的需要,我需要允许文件名使用任何语言,但我不希望它包含破折号(-)和下划线(_)、字符以外的标点符号像*%$#@"'不应该被允许。空格应转换为破折号。我认为使用Regex将是最简单的方法,但我不确定如何处理UTF8字符串。我的ASCII函数如下所示:functionconvertToPath($string){$string=strtolower(trim($string));$string=preg_replace('/[^a-z0-9-]/','-',$s

php - 在 PHP 中用另一个符号替换反斜杠

一直在努力用另一个符号(例如“.-.”)替换反斜杠只是为了指示反斜杠的位置,因为我无法发送诸如“C\xampp\etc”之类的字符串。通过url作为GET变量,所以我想我首先用另一个符号替换该字符串中的反斜杠,然后通过url发送,然后将它们替换回处理它的PHP文件中的反斜杠。虽然会有更好的方法通过url发送此类字符串吗?因为当我尝试这样的脚本时:$tmp_name=preg_replace("\",".-.",$_FILES['uploadfile']['tmp_name']);它变成了一个php错误,因为\也被用作分隔符..谁能帮我解决这个问题?提前致谢!顺便说一句,如果我能够通过u

php - 通过引用传递的不寻常符号?

在遗留的php脚本中,我发现了以下代码行:$CacheLite=&("string");引发错误:Parseerror:syntaxerror,unexpected'(',expectingT_NEWorT_STRINGorT_VARIABLEor'$'这是一个错误还是通过引用传递的方式或其他我不知道的东西。我是否必须在我的php配置中启用/禁用某些功能才能使其正常工作? 最佳答案 在PHP中,您不能通过引用对文字值或表达式进行赋值;它必须是对变量的引用。我不知道那行代码是如何到达那里的(为什么$CacheLite被分配给一些随机字

php - 删除 PHP money_format() 输出中美元符号后的空格

我用money_format('%(#15.2n',$money)输出类似$500.00有没有办法去掉美元符号和500之间的空格? 最佳答案 money_format[docs]甚至可能无法在某些平台上运行。使用number_format[docs会更可靠]:echo'$'.number_format($money,2);//'$12.44'如果您希望它填充到一定数量的空格,但在数字之前紧跟美元符号,您还可以使用sprintf[docs]:echoprintf("%15s",'$'.number_format($money,2));

php - 在 PHP 中查找以美元符号 $ 开头和结尾的单词

我正在寻找并替换长字符串中的单词。我想找到开头看起来像这样的单词:$test$并将其替换为空。我已经尝试了很多东西,但无法弄清楚正则表达式。这是我最后一次尝试:preg_replace("/\b\\$(.*)\\$\b/im",'',$text);无论我做什么,我都无法用它来替换以美元符号开头和结尾的单词。 最佳答案 使用单引号代替双引号并删除双转义符。$text=preg_replace('/\$(.*?)\$/','',$text);还有一个单词边界\b不消耗任何字符,它断言一侧有一个单词字符,而另一侧没有。您需要删除单词边界才