简体   繁体   English

PHP $特殊字符转义

[英]PHP $ special character escape

I have this PHP script I am using to generate an iMacro script and I am unsure how to enter new lines and escape the '$' that is in the string which is a code from iMacro. 我有一个用于生成iMacro脚本的PHP脚本,我不确定如何输入新行并转义字符串中的“ $”(这是来自iMacro的代码)。

PHP keeps thinking that '$' is part of PHP in PHP一直认为'$'是PHP中的一部分

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

How can I do new line in PHP and get PHP to take the $ as a string. 如何在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);
?>

For some reason this is the output after escaping using \\$ 由于某些原因,这是使用\\ $转义后的输出

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

Just escape the $ with the escape character \\ : 只需使用转义字符\\转义$

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";

}

You could also use single quotes but then you would need to move your new line characters outside of the single quotes or else they would taken as a liter \\ and 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";

}

Plus, I've noticed you're using +$i+ instead of concatenating .$i. 另外,我注意到您正在使用+$i+而不是连接.$i. which have been changed to reflect it. 已更改以反映它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM