PHP $特殊字符转义

时间:2014-06-04 01:01:23

标签: php string special-characters

我有这个用于生成iMacro脚本的PHP脚本,我不确定如何输入新行并转义字符串中的'$',这是来自iMacro的代码。

PHP一直认为'$'是PHP的一部分

"TAG POS=1 TYPE=DIV ATTR=ID:win0divUW_CO_JOBTITLE_HL$"

如何在PHP中创建新行并让PHP将$作为字符串。

<?php
error_reporting(-1);
ini_set('display_errors', 'On');

$file = 'datagenerated.txt';
$current = file_get_contents($file);


for ($x = 0; $x <= 4; $x++) {

for ($i = 0; $i <= 99; $i++) {
 $current.="TAG POS=1 TYPE=DIV ATTR=ID:win0divUW_CO_JOBTITLE_HL$" +$i+ " EXTRACT=TXT\n";
}
$current.="TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$img$0\n";

}

$current.="SAVEAS TYPE=EXTRACT FOLDER=C:\Users\Documents\iMacro FILE=Names.csv";

file_put_contents($file, $current);
?>

由于某些原因,这是使用\ $

转义后的输出
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$0
SAVEAS TYPE=EXTRACT FOLDER=C:\Users\Documents\iMacro FILE=Names.csv0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VWzhdownzimgz0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VWzhdownzimgz0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VWzhdownzimgz0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VWzhdownzimgz0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VWzhdownzimgz0
SAVEAS TYPE=EXTRACT FOLDER=C:\Users\HuKham\Documents\iMacro FILE=Names.csv0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$0
SAVEAS TYPE=EXTRACT FOLDER=C:\Users\Documents\iMacro FILE=Names.csv0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$img$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$img$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$img$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$img$0
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$img$0
SAVEAS TYPE=EXTRACT FOLDER=C:\Users\Documents\iMacro FILE=Names.csv

1 个答案:

答案 0 :(得分:2)

使用转义字符$逃避\

for ($x = 0; $x <= 4; $x++) {

for ($i = 0; $i <= 99; $i++) {
 $current.="TAG POS=1 TYPE=DIV ATTR=ID:win0divUW_CO_JOBTITLE_HL\$" .$i. " EXTRACT=TXT\n";
}
$current.="TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW\$hdown\$img$0\n";

}

您也可以使用单引号,但是您需要将新行字符移到单引号之外,否则它们将被视为升\n

for ($x = 0; $x <= 4; $x++) {

for ($i = 0; $i <= 99; $i++) {
 $current.='TAG POS=1 TYPE=DIV ATTR=ID:win0divUW_CO_JOBTITLE_HL$' .$i. ' EXTRACT=TXT'."\n";
}
$current.='TAG POS=1 TYPE=IMG FORM=NAME:win0 ATTR=NAME:UW_CO_JOBRES_VW$hdown$img$0'."\n";

}

另外,我注意到您使用的是+$i+,而不是连接.$i.已经更改以反映它。{/ p>