كيفية str_replace قسم من كود PHP
-
20-09-2019 - |
سؤال
$embedCode = <<<EOF
getApplicationContent('video','player',array('id' => $iFileId, 'user' => $this->iViewer, 'password' => clear_xss($_COOKIE['memberPassword'])),true)
EOF;
$name = str_replace($embedCode,"test",$content);
وأنا أحاول أن تحل محل جزء من التعليمات البرمجية مع قطعة أخرى من التعليمات البرمجية. أستطيع أن أفعل ذلك مع سلاسل صغيرة ولكن مرة واحدة أنا واضاف سلاسل أكبر ل$ embedCode، ورمي خطأ "T_ENCAPSED_AND_WHITESPACE غير متوقع"
المحلول
ويجب تفادي استبعاد ل$
باستخدام \$
$embedCode = <<<EOF
getApplicationContent('video','player',array('id' => \$iFileId, 'user' => \$this->iViewer, 'password' => clear_xss(\$_COOKIE['memberPassword'])),true)
EOF;
إذا هدفكم هو استخدام دوال اللغة اسم، إذا كنت ترغب في استخدام القيمة الحقيقية للمتغيرات، ثم المشكلة هي في $ هذا-> iViewer ...
نصائح أخرى
وإزالة "حول memberPassword بالقرب من $ _COOKIE
ويبدو على أي حال كنت تبحث عن بناء اللغة التي لا يفسر داخل متغير - حتى ذلك الحين لديك لاستخدام لا HEREDOC جملة - ولكن تعريف سلسلة منتظمة محدودة مع '
$sample = 'qwe $asd zxc';
وأو الهروب $ مع \ كما تقترح Marcx أدناه
لا تنتمي إلى StackOverflow