За последние 24 часа нас посетили 17780 программистов и 1745 роботов. Сейчас ищут 1096 программистов ...

Вывод переменной с двойными кавычками в атрибут тега html

Тема в разделе "PHP для новичков", создана пользователем borus, 2 июн 2014.

  1. borus

    borus Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Здравствуйте.

    Скажите, есть ли какой стандартный метод предобработки php переменных с помощью какой-либо функции, чтобы правильно вывести их значения в значения атрибутов html тегов в том случае, когда сами значения атрибутов обрамляются двойными кавычками и сами переменные содержат двойные кавычки? Просто html-кода Хрома, например, сходит с ума и в значения alt атрибутов попадает только то, что стоит до первой двойной кавычки в выводимой php-переменной.
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    Почитайте про экранирование символов.

    Код (Text):
    1. echo "\"Текст в двойных кавычках, вписанный в строку, обрамленную двойными кавычками\"";
     
  3. borus

    borus Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    спасибо, я читал. Т.е. можно поступить так
    Код (Text):
    1. str_replace('"','\"',$var)
    ?
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    Тогда вообще все двойные кавычки сменятся на экранированные. Покажите фрагмент кода, где возникает проблема.
     
  5. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    htmlspecialchars?
     
  6. borus

    borus Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    Вывод похоже производится следующим кодом встроенной функции Joomla
    Код (Text):
    1.  
    2. return '<img src="' . (count($includes) ? $includes[0] : '') . '" alt="' . $alt . '" ' . $attribs . ' />';
    А когда это может навредить?
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    в переменной $attribs косяки возникают? Выведи ее значение.
     
  8. borus

    borus Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    Прошу прощения, промазал :) Вот в такой ситуации возникают косяки:
    Код (Text):
    1.  
    2. <a title="<?php echo $product->product_name ?>"  href="<?php echo $product->link; ?>">
    Из-за $product->product_name
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    А имя продукта, стало быть содержит кавычки. Ну тогда да, надо оборачивать в htmlspecialchars и не париться. Тогда ни кавычки, ни даже угловые скобки ломать не будут верстку.

    Код (Text):
    1. <a title="<?php echo htmlspecialchars($product->product_name); ?>"  href="<?php echo $product->link; ?>">
     
  10. borus

    borus Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    Всех благодарю. А вы видимо в голове еще какой-то случай держали?
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Re: Вывод переменной с двойными кавычками в атрибут тега htm

    А случаи бывают разные, как говорится. Просто по ситуации смотреть куда удобнее, чем гадать. Потому и затребовал больше данных, чтобы убедиться, что все ок.