Hello all,

I hope this hasn’t been answered a zillion times already, I've tried
everything I know and nothing has worked. The following is the PHP statement
and the HTML rendering.  The apostrophe is displayed as is and breaks the
browser.  May be I am wrong but I was under the impression that escaping
special characters with one of the these, htmlspecialchars, htmlentities,
and addslashes would replace them with encoded (hex?) value so they wont
break the browser. But it hasn’t worked that way.  I am using
charset=iso-8859-1.  This is my PHP:

=== This is the PHP ===
<li>
        <a href="#"
onclick='document.form1.how.value="<?=htmlentities($row['how'])?>";
document.form1.factor.value="<?=addslashes($row['factor'])?>";document.form1
..submit();'><?= addslashes($row['factor'])?>
      </a>
</li>

====== This is the rendering =======
====== (note the heart's apostrophe breaks IE and firefox) ===
<li>
     <a href="#" onclick='document.form1.how.value="Pulmonary edema is a
condition in which fluid accumulates in the lungs, usually because the
heart's left ventricle does not pump adequately. In cases of severe
pulmonary edema, the symptoms will worsen and include A drop in blood
pressure resulting in a thready pulse.";
document.form1.factor.value="Pulmonary
edema";document.form1.submit();'>Pulmonary edema
    </a>
</li>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to