面倒な文字列の書き方

WBOY
リリース: 2016-06-23 13:39:36
オリジナル
965 人が閲覧しました

文字列がある場合、それを変数に代入したい場合はどう書けばよいでしょうか? この文字列は非常に長いです
たとえば、変数は $txjs です
文字列は
onMouseOut="ycxl('xla' );" onMouseOver ="xsxl('xla',getPos(this,'Top')+16,getPos(this,'Left'));"

これを書いたときにエラーを報告しましたが、わかりませんなぜ
$txjs='onMouseOut="ycxl( 'xla');" onMouseOver="xsxl('xla',getPos(this,'Top')+16,getPos(this,'Left'));"

以下は報告されたエラーです
解析エラー: 構文エラー、D:WWWdgcmsedatatmpdt_templist6.php の 159 行目で予期しない 'xla' (T_STRING)

ディスカッションへの返信 (解決策)

すべての言語で同じです曖昧さを避けるため

二重引用符で囲まれた文字 文字列内の二重引用符と一重引用符で囲まれた文字列内の単一引用符の両方をエスケープする必要があります

PHP で合意されたエスケープ文字は

PHP では、カスタム区切り文字も提供されており、エスケープの面倒

$txjs =<<< JSonMouseOut="ycxl('xla');" onMouseOver="xsxl('xla',getPos(this,'Top')+16,getPos(this,'Left'));"JS;
ログイン後にコピー


文字列に変数を書いたのですが、エスケープで変数の値が出力されず、変数名が直接出力されてしまいました、つまり変数名が出力されてしまいました
$cssbh

$ txjs='onMouseOut=" ycxl('{$cssbh}');" onMouseOver="xsxl('{$cssbh}',getPos(this,'Top')+16,getPos(this,'Left')); "';


$txjs='onMouseOut="ycxl('{$cssbh}');" onMouseOver="xsxl('{$cssbh}',getPos(this,'Top')+16,getPos( this,'Left') );"';書き込みが機能しません
どうしたのですか?

文字列内の PHP 変数は、二重引用符で囲まれた場合にのみ値に置き換えられます
これは PHP の規約ですので、遵守してください。理由はありません

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート