1. php 字符转义 正规
$str = "[emt2],[emt20],[emt20],[emt50],[emt61]";
function __callback($ary){
return "<img src='admin/upimages/" . ( intval(substr($ary[0],4)) > 60 ? 0 : intval(substr($ary[0],4)) ) . ".jpg'>";;
}
echo preg_replace_callback('/\[emt\d{1,2}\]/i' , '__callback' , $str);
2. PHP 转义换行符
html里的换行跟程序语言里的换行是不一样的,你那样写在网页源文件里是:
why it does not work?
Maybe
但ie解释是是忽略回车的,html认可的换行是<br>。
你那几句代码应改成:
<?php
printf("why it does not work?<br>");
printf("Maybe");
?>
你看看是不是换行了?
3. php里有没有转义php代码的函数,如把<php >转义为转义字符
<?php
$new=htmlspecialchars("<ahref='test'>Test</a>",ENT_QUOTES);
echo$new;//<ahref='test'>Test</a>
?>
使用这个函数吧 htmlspecialchars
4. php转义字符
你说的应该是反引用转义字符
stripslashes();
或者stripcslashes();
5. php 转义字符
echo "<tr><td><a href=\"$_SERVER['PHP_SELF']?id=1\">上一页</a><a href=\"$_SERVER['PHP_SELF']?id=2\">下一页</a></td></tr>";
还是不对,数组特殊,应该如下:
<?php
echo "<tr><td><a href=\"{$_SERVER['PHP_SELF']}?id=1\">上一页</a><a href=\"{$_SERVER['PHP_SELF']}?id=2\">下一页</a></td></tr>";
?>
6. 请问php中的转义字符是什么 能详细说一下吗
在php中:
* 以单引号为定界符的php字符串,支持两个转义\'和\\
* 以双引号为定界符的php字符串,支持下列转义:
\n 换行(LF 或 ASCII 字符 0x0A(10))
\r 回车(CR 或 ASCII 字符 0x0D(13))
\t 水平制表符(HT 或 ASCII 字符 0x09(9))
\\ 反斜线
\$ 美元符号
\" 双引号
\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符
举几个例子:
一个包含\0特殊字符的例子:
$str = "ffff\0ffff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
9
102 102 102 102 0 102 102 102 102
替换特殊字符的例子
$str = "ffff\0ffff";
$str = str_replace("\x0", "", $str);
//或者用$str = str_replace("\0", "", $str);
//或者用$str = str_replace(chr(0), "", $str);
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
8
102 102 102 102 102 102 102 102
八进制ascii码例子:
//注意,符合正则\[0-7]{1,3}的字符串,表示一个八进制的ascii码。
$str = "\0\01\02\3\7\10\011\08\8"; //这里的\8不符合要求,被修正为"\\8" (ascii为92和56)
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
11
0 1 2 3 7 8 9 0 56 92 56
十六进制ascii码例子:
$str = "\x0\x1\x2\x3\x7\x8\x9\x10\x11\xff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
10
0 1 2 3 7 8 9 16 17 255
7. php 转义字符 \t 怎么用啊
\t \n 等是为了向操作系统的文本字符表示方式兼容。而echo print 之类的是输出为HTML标记,所以浏览器解析的时候会使这些字符换成了空格。在HTML里没有制表符的特殊字符表示,只有在<pre>标签里才会保留制表符。例如:echo "<pre>"."s\tsid\na"."<pre>";
8. PHP正则 转义如何反斜杠
<?php
if($_POST['name']){
$uisot = $_POST['name'];
$hicuizd = trim($uisot);
$hicuizd = preg_match('/\\\/',$hicuizd);//当转义符本身第一次转义之后就和其他特殊字符一样了,再转义一下就可以实现了。
if(!$hicuizd){
echo"<script> alert('与反斜杠匹配失败');</script>";}
else{
echo"<script> alert('与反斜杠匹配成功!');</script>";
}
}
//-------------表单
echo <<<uic
<form id="form1" name="form1" method="post" action="">
请输入需要匹配的反斜杠:
<input name="name" type="text" id="name" />
<input type="submit" name="Submit" value="提交" />
</form>
uic;
?
9. PHP转义字符
中括号的内容是匹配的东西,^> 的意思是匹配所有,除了>这个符号,后面的+意思是前面的东西出现至少1次, 那么 <[^>]+> 这个模式就是匹配所有的html标签比如<a>,<div>,<tb>等等, 后面那个 </[^>]+> 就是匹配</a>,</div>,</tb>这些结束标签
中间圆括号括起来的就是这个表达式想要抓取的内容,一点 . 的意思是所有字符,*和加号+一样是重复次数,不同的是*号意思是出现0次或以上次数
总的来说这个表达式就是匹配HTML标签中间的内容,也就是去掉HTML标签的作用,其实要达到这个效果不需要这么麻烦,有一个函数可以做这个事情
strip_tags()
10. php转义字符,这是什么意思
\的意思是转义
如果你双引号里要出现双引号是不行的,所以要转义
比如:\"就是相当于'
(转义双引号等于单引号)
\'等于'
(转义单引号等于单引号)
你这段的意思是:执行循环,次数为3次。循环输出表格的列(align=\ "center \设定为居中)。img是 图片,scr是图片位置,位置是数组 $pictures的第$i个(根据循环次数来定)
echo " \ " /></td>"; \ " />是img的结束标记 </td>是列的结束标记
不过我感觉程序有点问题。。