Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## 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:[email protected]'>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;
- }
Advertisement
Add Comment
Please, Sign In to add comment