|
Страници по тази тема: 1 | 2 | (покажи всички)
Тема
|
echo ($col); извежда стринга до първия пробел
|
|
Автор |
NikB (любопитен) |
Публикувано | 21.03.04 23:24 |
|
echo ($col); извежда стринга до първата празна позиция
В темата е много кратко.
Значи имам си ОК връзка с MySQL и искам в една форма да изведа полетата от някой запис. В дебъгера си (PHP Exper Debuger на PHP Expert Editor) променливата $col на реда echo ($col) се вижда цялата (нещо като 'НУ "Хр.См"'), но във формата в текстовото поле се извежда само 'НУ'
foreach ($line as $col) {
?>
<form action=TestForm2c.php method=get>
<input type=text size=20 name="Text1" maxlength=10 value=
<?PHP
echo ($col);
?>
>
</form>
<?PHP
Пробвах да го потърся в документацита, а след това и да му сложа някакви разделители, но не успях да го налучкам :)
| |
Тема
|
Re: echo ($col); извежда стринга до първия пробел
[re: NikB]
|
|
Автор |
s_dimi (минаващ) |
Публикувано | 22.03.04 00:09 |
|
В отговор на:
'НУ "Хр.См"'
виж си кавичките
| |
Тема
|
Е и
[re: s_dimi]
|
|
Автор |
NikB (любопитен) |
Публикувано | 22.03.04 09:32 |
|
Видях ги, но не разбрах отговора ти. Написал съм, че в полето на MySQL таблицата пише
'НУ "Хр.См"',
сега пояснявам, че литералите са разделители в моя текст, а в полето пише само:
НУ "Хр.См"
Какъв им е проблема на кавичките ми?
| |
Тема
|
Re: Е и
[re: NikB]
|
|
Автор |
Blake (извънземен) |
Публикувано | 22.03.04 09:46 |
|
проблема е, че се получава следния ХТМЛ:
<input ...blabla... value="НУ "Хр.См"">,
което ще рече, че валуе-то приема стойност "НУ "
едно от решенията е да направиш:
$value=str_replace('"', """, $value)
и няма да имаш грижи...
(кавичката съм я боядисал в червено за да се види)
Just a genius
| |
Тема
|
Re: Е и
[re: Blake]
|
|
Автор |
Mycлoн (Муслен Ужасон) |
Публикувано | 22.03.04 09:55 |
|
Коректното решение не трябва ли да включва прекарване през htmlentities? То ще замени кавичката с " и ще си в джаза.
Ей все забравям, че дира ще ми обърне & quot; (без интервал) на ".
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom PoppendieckРедактирано от Mycлoн на 22.03.04 11:50.
| |
Тема
|
Re: echo ($col); извежда стринга до първия пробел
[re: NikB]
|
|
Автор |
ro6avia (ламерясал) |
Публикувано | 22.03.04 09:57 |
|
Не е echo-тo , а HTML-то
То ти извежда до първа празна позиция. Ако не искаш да е така загради стринга на VALUE-то в апострофи и пусни стринга от РНР-то с addslashes
т.е.:
<input type=text size=20 name="Text1" maxlength=10 value='
<?PHP
echo addslashes($col);
?>
'>
root@localhost#cd /pub
root@localhost#more beer
| |
Тема
|
Re: Е и
[re: NikB]
|
|
Автор |
s_dimi (минаващ) |
Публикувано | 22.03.04 10:06 |
|
echo "Escaping characters is done \"Like this\".";
| |
Тема
|
Re: echo ($col); извежда стринга до първия пробел
[re: ro6avia]
|
|
Автор |
NikB (любопитен) |
Публикувано | 22.03.04 10:23 |
|
Изглежда логично, но когато го пробвах, в дебъгера изглежда нормално (за мен):
<input type=text size=40 name="Text1" maxlength=40 value=
НУ \"Нещо си\">
но съдържанието на полето отново е до първия пробел.
(Пробелът май не е вкл, щото не се маркора с мишката)
| |
Тема
|
Парсерна ме
[re: Blake]
|
|
Автор |
NikB (любопитен) |
Публикувано | 22.03.04 10:31 |
|
Ако втория аргумент са 3 кавички ("), както си написал - казва
Parse error: parse error, unexpected '"' in ...
Ако са 4:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in...
Ако са две - няма грешка, но няма и ефект.
| |
Тема
|
На кое казваш кавичка?
[re: Mycлoн]
|
|
Автор |
NikB (любопитен) |
Публикувано | 22.03.04 10:37 |
|
" - кавичка;
' - апостроф
| |
|
Страници по тази тема: 1 | 2 | (покажи всички)
|
|
|