Move bb_translate_video

- To new Class BBCode\Video
- Adding tests
- Make BaseObject::getClass() public
This commit is contained in:
Philipp Holzer 2019-10-23 00:14:47 +02:00
parent 7f49c73730
commit 2870f42ca2
No known key found for this signature in database
GPG key ID: D8365C3D36B77D90
5 changed files with 80 additions and 20 deletions

View file

@ -0,0 +1,32 @@
<?php
namespace Friendica\Content\Text\BBCode;
/**
* Video specific BBCode util class
*/
final class Video
{
/**
* Transforms video BBCode tagged links to youtube/vimeo tagged links
*
* @param string $bbCodeString The input BBCode styled string
*
* @return string The transformed text
*/
public function transform(string $bbCodeString)
{
$matches = null;
$found = preg_match_all("/\[video\](.*?)\[\/video\]/ism",$bbCodeString,$matches,PREG_SET_ORDER);
if ($found) {
foreach ($matches as $match) {
if ((stristr($match[1], 'youtube')) || (stristr($match[1], 'youtu.be'))) {
$bbCodeString = str_replace($match[0], '[youtube]' . $match[1] . '[/youtube]', $bbCodeString);
} elseif (stristr($match[1], 'vimeo')) {
$bbCodeString = str_replace($match[0], '[vimeo]' . $match[1] . '[/vimeo]', $bbCodeString);
}
}
}
return $bbCodeString;
}
}