<?php
/**
- * @file src/Util/ParseUrl.php
- * @brief Get informations about a given URL
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
*/
+
namespace Friendica\Util;
use DOMDocument;
use Friendica\Database\DBA;
/**
- * @brief Class with methods for extracting certain content from an url
+ * Get information about a given URL
+ *
+ * Class with methods for extracting certain content from an url
*/
class ParseUrl
{
const MIN_DESC_COUNT = 100;
/**
- * @brief Search for chached embeddable data of an url otherwise fetch it
+ * Search for chached embeddable data of an url otherwise fetch it
*
* @param string $url The url of the page which should be scraped
* @param bool $no_guessing If true the parse doens't search for
DBA::insert(
'parsed_url',
[
- 'url' => Strings::normaliseLink($url), 'guessing' => !$no_guessing,
+ 'url' => substr(Strings::normaliseLink($url), 0, 255), 'guessing' => !$no_guessing,
'oembed' => $do_oembed, 'content' => serialize($data),
'created' => DateTimeFormat::utcNow()
],
}
/**
- * @brief Parse a page for embeddable content information
+ * Parse a page for embeddable content information
*
* This method parses to url for meta data which can be used to embed
* the content. If available it prioritizes Open Graph meta tags.
}
/**
- * @brief Convert tags from CSV to an array
+ * Convert tags from CSV to an array
*
* @param string $string Tags
* @return array with formatted Hashtags
}
/**
- * @brief Add a hasht sign to a string
+ * Add a hasht sign to a string
*
- * This method is used as callback function
+ * This method is used as callback function
*
* @param string $tag The pure tag name
* @param int $k Counter for internal use
}
/**
- * @brief Add a scheme to an url
+ * Add a scheme to an url
*
* The src attribute of some html elements (e.g. images)
* can miss the scheme so we need to add the correct