Prevent Widows with PHP and JavaScript
One of the small touches you can add to your website is preventing "widows" in your H1-H6 tags. For those who aren't aware, a widow (in terms of text and headings) means only one word of a title wraps to the next line -- a bit of an ugly sight if you ask me. The way to prevent widows with just text is by adding a between the last two words of the text instead of a regular space character. Here are two snippets for preventing widows in your website: one using JavaScript and another using PHP!
// With JavaScript
var text = text.replace(/\s(?=[^\s]*$)/g, ' ');
// With PHP
$text = preg_replace( '|([^\s])\s+([^\s]+)\s*$|', '$1 $2', $text);
As I mentioned originally, widows are not necessarily a bug, but a small visual quirk that just doesn't look great. Keep these regex usages handy so you can prevent such a smudge!
![From Webcam to Animated GIF: the Secret Behind chat.meatspac.es!]()
My team mate Edna Piranha is not only an awesome hacker; she's also a fantastic philosopher! Communication and online interactions is a subject that has kept her mind busy for a long time, and it has also resulted in a bunch of interesting experimental projects...
![Creating Scrolling Parallax Effects with CSS]()
Introduction
For quite a long time now websites with the so called "parallax" effect have been really popular.
In case you have not heard of this effect, it basically includes different layers of images that are moving in different directions or with different speed. This leads to a...
![Making the Firefox Logo from HTML]()
When each new t-shirt means staving off laundry for yet another day, swag quickly becomes the most coveted perk at any tech company. Mozilla WebDev had pretty much everything going for it: brilliant people, interesting problems, awesome office. Everything except a t-shirt.
That had to change.
The basic...
![CSS calc]()
CSS is a complete conundrum; we all appreciate CSS because of its simplicity but always yearn for the language to do just a bit more. CSS has evolved to accommodate placeholders, animations, and even click events. One problem we always thought...
Great idea to take care of all headings at once!
Only concern I would have would be search engines. Are there repercussions to adding this markup? Would it confuse/deter proper search engine indexing?
I’m sure Google, etc take javascript into account in some way, but I would do this via javascript instead of PHP to lessen the chances of hurting search rankings (if that’s important to you).
I’ve never seen the ?= operator in regular expression. And I don’t find such in my regex cheat sheet. Can you please explain how this particular reg ex is working? Thanks.
The
?=is a look-ahead operator. It allows you to specify an expression that matches what comes next. In the example abovethe expression is stating that the character after the space must be zero-or-more non-whtie-space characters followed by the end of the string. In other words, it makes sure that it only replaces the last space in the heading with a non-breaking space.
PHP not cancer of the Web