删除链接文本mysql的最后一部分

sirbozc5  于 2021-06-23  发布在  Mysql
关注(0)|答案(5)|浏览(334)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

两年前关门了。
改进这个问题
我有一个带有描述列文本的表:

<center>
texttextffjfjfffkfkf
    <img src="https://example.com/43435565653554/687474703a2f2f736f757" alt="\\">
    <img src="https://example.com/22223445556565/687474703a2f243434344" alt="\\">
fgfgfgfgfgfgfgfgfgfg
    <center>

我想删除所有链接的最后一部分 687474703a2f2f736f757 以及 687474703a2f243434344 作为

<center>
texttextffjfjfffkfkf
    <img src="https://example.com/43435565653554/" alt="\\">
    <img src="https://example.com/22223445556565/" alt="\\">
fgfgfgfgfgfgfgfgfgfg
    <center>
j2cgzkjk

j2cgzkjk1#

另一种选择:使用 substr 以及 strrpos .

<?php
// Obtained from the database, hard coded for the sake of this question
$urls = [
    'https://example.com/43435565653554/687474703a2f2f736f757',
    'https://example.com/22223445556565/687474703a2f243434344'
];
?>
<center>
texttextffjfjfffkfkf
<?php foreach ($urls as $url) { ?>
    <img src="<?= substr($url, 0, strrpos(trim($url, " \t\n\r\0\x0B/"), '/')); ?>" alt="\\" />
<?php } ?>
fgfgfgfgfgfgfgfgfgfg
<center>

它所做的是从字符串的开头获取一个子字符串,然后获取最后出现的子字符串的位置 / .
因为您声明了这些url的格式将始终相同,所以您不需要担心任何拖尾 / .
也就是说,我使用了一个修剪与自定义遮罩删除任何领先或落后 / .

cmssoen2

cmssoen22#

在php中,您可以使用:

$testText = "https://example.com/43435565653554/687474703a2f2f736f757";
$testText = preg_replace('#(http.+/)[a-zA-Z0-9]+/?$#', '$1', $testText);

在javascript中,您可以使用:

var testText = "https://example.com/43435565653554/687474703a2f2f736f757"
var newText = testText.replace(/(http.+\/)[a-zA-Z0-9]+\/?$/, "$1")
pbpqsu0x

pbpqsu0x3#

您可以在mysql中选择子字符串

SELECT *, SUBSTRING(columnName, 1, CHAR_LENGTH(columnName)-numOfCharactoerYouWantToRemove) as temp FROM `user`

例如,

SELECT *, SUBSTRING(description, 1, CHAR_LENGTH(description)-2) as temp FROM `user`
jdg4fx2g

jdg4fx2g4#

你可以用正则表达式来实现。这就是如何在php中做到这一点。

$url='https://example.com/43435565653554/687474703a2f2f736f757';
$url= preg_replace('/([A-z]|\d)*$/', '', $url);
echo $url;
rur96b6h

rur96b6h5#

<?php

$input  = explode('/', 'https://example.com/43435565653554/687474703a2f2f736f757');
$output = implode('/', array_slice($input, 0, 4));
echo $output;

输出: https://example.com/43435565653554 试试这个。

相关问题