Jump to content
php.lv forumi

Padot f-jas string ar jaunam rindam


cucumber

Recommended Posts

Ka var javascript f-jai padot mainigo stringu, kura ieksha ir pareja(s) uz jaunu rindu?

Link to comment
Share on other sites

es no elementa izsaucu javascript f-ju, kura ka mainigo padotu $string = 'abc\nabc\naaaa', uz tekstu ar pareju jauna rinda paradas kluda?

 

<div onclick="java script:openPopup('$string');">spied</div>

Link to comment
Share on other sites

Kluda tada ka nevar padot funkcijai tada veida mainigo?

 

<script>
 function getText(string)
 {
  alert(string);
 }
</script>

<?php
$string ="abc\nabc\nabc\n";
echo "<div onclick=\"java script:getText('$string');\">spied</div>";
?>

izsaucot f-ju paradas :: Error: unterminated string literal (ff devtolbara)

Edited by cucumber
Link to comment
Share on other sites

$string tiek aizpildīts PHP pusē, vai ne?

Vai nesanāk, ka HTMLS pēc $string = 'abc\nabc\naaaa'; izskatās šādi:

<div onclick="java script:openPopup('abc

abc

aaa');">spied</div>

 

??

Ja tā, tad varbūt pamēģini:

$string = 'abc\\nabc\\naaaa';

Link to comment
Share on other sites

Nezini vai tas butu tas risinajums, bet ja $string ="abc\\nabc\\nabc\\n"; pirms \n pieliek vel vienu \, tad strada.

Link to comment
Share on other sites

Tad ka php puse vajag apstradat maingo, lai to varetu padot f-jai bez problemam (\n, ' , ") likt prieksha \ un viss?

 

 

it ka der.

function jsspecialchars($s) {
return preg_replace('/([^ !#$%@()*+,-.\x30-\x5b\x5d-\x7e])/e',
	"'\\x'.(ord('\\1')<16? '0': '').dechex(ord('\\1'))",$s);
}

Edited by cucumber
Link to comment
Share on other sites

Jāescapo visi \

Bet vispār savādi... jo konstrukcijai $mainigais = 'kaut\nkas'; vajadzēja mainīgo uzstādīt kā:

kaut\nkas

, nevis:

kaut

kas

 

http://lv.php.net/manual/en/language.types.string.php

Jo šādi vajadzētu darboties tikai pēdiņām, nevis apostrofiem. Respektīvi, ja būtu uzstādīts $mainigais = "kaut\nkas";

Link to comment
Share on other sites

Tāpēc, ka cucumber izmanto dubultpēdiņas PHP variablī. Izmantojot 'abc\nabc\nabc\n' nav jāslešo newlines

 

<?php
$string ='abc\nabc\nabc\n';
echo "<div onclick=\"java script:getText('$string');\">spied</div>";
?>

Edited by indoom
Link to comment
Share on other sites

×
×
  • Create New...