
Untitled
By: a guest on
Jun 21st, 2012 | syntax:
None | size: 1.69 KB | hits: 8 | expires: Never
## HTML ($content)
<p>Some text <a href=\"http://google.co.nz\" target='_blank'>link to Google</a>.
Followed by <a href='http://example.com'>Another Link</a><img src='/some/image.png' alt='Some image'/>.
<a href='mailto:test@example.com'>Email Me!</a></p>
## Function to deal with content
<?php
public static function create_from_content($content, $source, $fullUrl) {
//Create trackers for all <a> links
$aReg = "/\<a.*?href=[\'\"](?:(?:^mailto)(\S*?))[\'\"].*?\>.*?\<\/a\>/";
$aReplaceReg = "/(\<a.*?href=[\'\"])\S*?([\'\"].*?\>.*?\<\/a\>)/";
if (preg_match_all($aReg, $content, $matches)) {
$originals = $matches[0];
$urls = $matches[1];
$replacements = array();
for ($i = 0; $i < count($urls); $i++) {
$link = self::create($urls[$i], $source);
$link->write();
$replacement = '$1' . $fullUrl . $link->Slug . '$2';
$replacements[] = preg_replace($aReplaceReg, $replacement, $originals[$i]);
}
$content = str_replace($originals, $replacements, $content);
}
//Create trackers for all <img>
$imgReg = "/\<img.*?src=[\'\"](\S*?)[\'\"].*?\/\>/";
$imgReplaceReg = "/(\<img.*?src=[\'\"])\S*?([\'\"].*?\/\>)/";
if (preg_match_all($imgReg, $content, $matches)) {
$originals = $matches[0];
$urls = $matches[1];
$replacements = array();
for ($i = 0; $i < count($urls); $i++) {
$link = self::create($urls[$i], $source, 'DirectDownload');
$link->write();
$replacement = '$1' . $fullUrl . $link->Slug . '$2';
$replacements[] = preg_replace($imgReplaceReg, $replacement, $originals[$i]);
}
$content = str_replace($originals, $replacements, $content);
}
return $content;
}