Search the Community
Showing results for tags 'substr'.
-
I wonder if anyone can help with this little puzzle. I am creating a listing of properties which includes a photo and a description in html. The description is drawn down from MySQL but may be 2,000 plus characters long. As I only want to display the first, say, 300 characters and the <a> link (you know the sort of thing: Wonderful property, hot and cold running water, great views....see more.... ) The code is:.... if($prop_live == "1") { echo '<tr style ="background-color: #FFFF99; border-collapse: separate; border-spacing: 12px 12px;"><td>' . $prop_name . '<br /><a href = "images/properties/' . $prop_ref . 'jpg" target = "_blank"><img src = "images/properties/' . $prop_ref . 'jpg" width = "160" alt = "Image missing - sorry." /></a></td><td style = "text-align: left; vertical-align: top; padding: 20px; ">' . substr($prop_desc, 0, 300) . ' ...more information....<br /><br />' . $elec2 . '<br />' . $water2 . '</td><td style = "text-align: right; vertical-align: top; padding: 20px;">' . $prop_price . '</td></tr>'; } (Note: I haven't added the <a href> bit yet around ...more information...) All is well and good until we are unlucky enough to encounter an html control such as <sup> or á and cut it in half. We then have incomplete html code which messes up the <td> or worse. I have scratched my head over this and been through all of the php text handling functions trying to cut the length of the string e.g. 303 or 298 characters or whatever, where one encounters a space. The alternative would be to convert the html code <sup>2</sup> before 'echo'ing it. I guess striptags would work but leave us with a non-superscript 2. Thanks Max